具有太多Web服务的Java EE应用程序

时间:2014-07-31 13:37:49

标签: java web-services java-ee osgi

我正在使用 Java EE 应用程序,该应用程序通过多个操作公开150多个webservices合同。

我认为在更新容器中的应用程序时,这是导致发布时间过长和OutOfMemory错误的原因。

我想知道如何修改此应用程序架构以支持此多个Web服务。

我正在使用 Java EE 5 规范。

在多个war文件中分隔它是一种好方法吗?

也许是OSGi。是否可以在OSGi上使用WAS 7?这是一个很好的解决方案吗?


ADDED

也许扩展 JVM 内存可以解决问题一段时间,但还有其他问题,内存不会有帮助。

此应用程序可由多个应用程序访问。更新一个Web服务会影响使用其他Web服务的所有客户端。我想了解如何解耦 EAR

1 个答案:

答案 0 :(得分:0)

除非您使用卸载类的标志启动JVM,否则每次更新都会在顶部添加相同数量的类。这将导致您出现OOM或更具体的PermSpace问题。除非你使用正确的设置启动你的服务器,很多内存(你正在运行JEE应用程序吗?)和正确调整PermSpace等等。你将永远遇到这个问题。 OSGi部分也不会解决它。 这将始终依赖于JVM本身,Oracle JVM确实支持卸载类,而从8开始它不再包含PermSpace。虽然在那时你将不得不观看筹码:)