我有一个EJB,以及一个使用它的Web服务。我现在想编写一个简单的TCP服务器作为webservice的替代,但我不想重写EJB中的逻辑和它下面的数据库层。
所以我写了一个简单的TCP服务器作为单例并注释它@Startup。该应用程序可以工作但它似乎也会杀死JBoss管理控制台以及产生一系列超时异常。我怀疑原因是我在服务器bean中有无限的while循环,这是接受传入连接所必需的。有没有办法解决这个问题,或者将EJB作为服务器只是一个坏主意?
我想另一种选择是编写一个独立的Java应用程序并在我的业务逻辑EJB上使用远程接口,虽然这看起来有点麻烦......
答案 0 :(得分:1)
我认为你有2个解决方案。
你可以写一个独立的恶魔,这是一个简单的TCP服务器。它应该监听端口并在需要时调用运行到JBoss的EJB层。
或者您可以使用JCA连接器实现服务器。从理论上讲,这是“正确”的解决方案。如果仅将它用于传入连接并不是那么难。