[英]OpenShift template with the jboss/wildfly docker image that deploys my war (binary source strategy)
[英]WAR extension strategy in Wildfly
在一个WildFly项目中,我有一个很大的WAR文件(大约100 MB),其中包含JAR文件中的整个应用程序(EJB,GUI,Web服务等)
在此WAR中,有些函数实现了自定义的Function
接口(还有其他一些类,如AbstractFunction
等)。 现在,我想用用户提供的功能扩展应用程序(它们应该在类路径上,然后可以由应用程序访问。
问题是我无法在主WAR之前部署Function
,因为Function
, AbstractFunction
等是尚未部署的WAR。
出于相同的原因,使用这些功能添加WildFly模块失败。
一种可能是重组WAR文件,以使Function
, AbstractionFunction
位于单独部署的自己的jar中。 不幸的是,这将是主要的重构,目前尚无法实现。
那么将用户定义函数放在JAR中放入WAR文件的唯一(简单)可能性是吗?
您可以使用EJB将用户代码部署为独立的jar / war。 EJB实现Function
。 主模块可以通过JNDI查找并找到它们。 另外,您还必须使诸如Function
和DTO之类的通用类可用于用户模块和主要战争。 最简单的方法是主战中的共享类。 您可以将META-INF / jboss-deployment-structure.xml添加到客户端模块:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<dependencies>
<module name="deployment.main.war"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
聚苯乙烯
我有类似的项目结构:
在我的core.war中,我有如下代码:
Plugin srv = (Plugin) new InitialContext().lookup(jndi);
我的插件看起来像:
@Stateless
public class UserPlugin implements Plugin
JNDI看起来像java:global/user-plugin/UserPlugin
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.