It's been a while ago, CotoGoto Support for Seasar2 has ended on September 26, 2016 as we continue to develop. The following measures were taken in search of the migration destination.

Before migration After migration
Controller Struts2 Struts2
DI Seasar2 Google guice
DAO S2Dao Doma2

Controller

Struts2 used as Controller did not need to be changed from the beginning.
Since it uses Struts2 instead of the Seasar2 family, the honest burden was reduced here.

DI

There was an option to replace the DI part with a full stack framework, but even if Spring is used, the learning cost will be high, so we plan to make it a micro service.
As with Seasar, the full stack framework has the danger that the entire system will be able to respond to changes when upgrading.

DAO

The Dao part was surprisingly the largest, and the aftermath of the replacement was so large that it did not become EOL in Seasar2.
Uses Doma2 that follows the S2Dao style (DAO pattern and 2 Way SQL).
Thanks to this, the SQL file was able to be migrated to some extent, so it did well without re-creation.

Other

Since S2Dxo was used as a model mapper in other parts, replacement also occurred here.
When converting Entity and Dto using Apache Commons BeanUtils, Doma2 uses java.time.LocalDateTime, and until now used java.sql.Timestamp, so many conversion errors occurred.
I had to deal with this conversion part my own. Null conversion is also supported.

Finally

As the migration destination of seasar2, it seems that the flow of migrating to Spring is the mainstream in the world, but there are other migration patterns as well, so I hope you will refer to it.