Я хочу использовать библиотечный jar в нескольких WAR-приложениях, которые объединены в один EAR.Поэтому я добавил этот jar-файл как зависимость модуля в jboss-deploy-structure.xml EAR.
Проблема в том, что в библиотеке есть статические переменные (стандартный шаблон Singleton с POJO и кэшами), которые необходимобыть изолированным между приложениями.Поскольку библиотека включена как зависимость модуля для каждого военного приложения, используется один и тот же экземпляр класса (и, следовательно, одна и та же статическая переменная).
EAR structure:
|-- META-INF
| |-- jboss-deployment-structure.xml
|-- WAR A
|-- WAR B
|-- WAR ...
Событие с указанием ссылки на модуль в разделе суб-развертывания jboss-deploy-structure.xml Я полагаю, что вместо WarClassloader все еще используется ModuleClassloader:
<jboss-deployment-structure>
<deployment>
<dependencies>
...
</dependencies>
</deployment>
<sub-deployment name="TEST001_Wildfly.war">
<dependencies>
<module name="com.shared.lib" />
</dependencies>
</sub-deployment>
<sub-deployment name="TEST002_Wildfly.war">
<dependencies>
<module name="com.shared.lib" />
</dependencies>
</sub-deployment>
</jboss-deployment-structure>
Как можно ссылаться на jar модуля общей библиотеки или использовать ее в любом приложении войны, чтобы экземпляр класса со статическими переменнымиНЕ поделились между ними?