问题标签 [jboss-modules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
167 浏览

java - 如何开始使用 Java 模块?

我正在阅读有关 OSGi 和 JBoss 模块的信息。我了解模块的目的——避免 Jar hell 和冲突的类——但如果我想编写一个使用它们的新应用程序,我不知道从哪里开始。我可以从某个地方开始,然后加载其他模块吗?我不想运行 Eclipse 或 Wildfly;我想用我自己的应用程序重新开始。模块的世界你好。

编辑:我正在使用 IntelliJ,出于几个原因,我真的不想切换到 Eclipse。因此,对于需要安装 Eclipse 插件的答案,我无能为力。

0 投票
1 回答
2649 浏览

dependencies - openam J2EE Policy agent - ServerEntryNotFoundException: Cannot find server ID

I have an openAM application running on Tomcat 7. On my JBoss server, which has an application protected by OpenAM, I get the following error message when accessing any protected resource:

This class belongs to the Web Policy agent that I installed on my Jboss which created a jboss module which declares these dependencies:

But I've checked my jboss/modules directory for these dependencies and they're all there.

In my Web Policy agent's log file, I see this being logged every minute:

0 投票
1 回答
1091 浏览

jboss - 为什么我的 JBoss 模块会抛出 ClassCastException?

嗨 StackOverflow 社区,

我有一个已部署到 JBoss Wildfly 8.2 实例的 WAR。同样在 Wildfly,我创建了两个模块:

  1. 第三方 JMS JCA 适配器模块,
  2. 和一个模型模块 (model.jar),其中包含用于在 JMS 代理和 WAR 之间进行通信的消息类

WAR 有一个 jboss-deployment-structure.xml,它声明了对 JCA 模块的依赖:

WAR 将 model.jar 文件打包在其 WEB-INF/lib 文件夹中。

JMS 模块依赖于模型模块:

运行时,出现以下异常:

我怀疑这是一个类加载器问题。我必须在 module.xml 或 jboss-deployment-structure.xml 文件中指定一些额外的信息吗?

谢谢你的帮助!

0 投票
1 回答
159 浏览

java - 使用 Eclipse 开发 JBoss 自定义模块

我继承了自定义 JBoss 模块的代码,而且我对 JBoss EAP 6.x 还是很陌生。目前我正在使用 eclipse 来开发模块,但要部署一个新版本,我必须手动完成。

有一个更好的方法吗?

0 投票
0 回答
254 浏览

jsf-2 - 将 JSF 组合组件与 JBoss EAP 6.2 模块一起使用

如何通过模块向 JBoss 公开复合组件?该组件在同一个项目中正常工作,该项目可以正确引用依赖模块中的其他类,但尝试使用复合组件会抛出类似的错误

我目前已将我jboss-deployment-structure.xml的修改为以下内容,但没有任何区别。

0 投票
1 回答
1632 浏览

java - 如何将 EJB 模块部署为 Wildfly AS 中 MODULES 文件夹下的模块

我有一个包含 EJB 的 jar,EJBTest.jar并已将其部署为modules文件夹下的模块以及module.xmlWildfly 应用程序服务器。

在作为 EJB 使用者的 WAR 中,我在 in 下添加了对 EJB 模块的<module name="com.test.ejb" />引用。<dependencies>jboss-deployment-structure.xml

javax.naming.NameNotFoundException:从中得到了明显的消息,即 EJB 模块 jarEJBTest.jar未正确安装在modulesWildfly 应用程序服务器的文件夹下。

我怀疑 EJB 模块是否可以作为模块安装在 wildfly 中。@remote我有一个分别用和注释的 bean 接口和 bean 实现@stateless。我错过了什么吗?或者是否无法在 wildfly 中部署或安装 EJB 模块作为模块?请帮忙。非常感谢。

0 投票
1 回答
2375 浏览

java - 在 JBoss 7.1.1 上将 JAR 部署为模块

我在使用 jboss 上部署的 jar 作为模块时遇到问题。

我知道我应该通过以下方式创建一个全局模块:创建 JBOSS_HOME/modules 的子文件夹,复制 jar 并创建 module.xml 文件,但这里http://blog.tier2consulting.com/2013/04/02/understanding- modules-in-jboss-enterprise-application-platform-6/,更正式地说,这里是https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Development_Guide/chap-Class_Loading_and_Modules.html,我逐字阅读,

Dynamic Modules are created and loaded by the application server for each JAR or WAR deployment (or subdeployment in an EAR). The name of a dynamic module is derived from the name of the deployed archive.

不过,当我部署 JAR 时,我只能在 JBOSS 日志文件中看到:

16:06:18,698 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "Test.jar" 16:06:18,964 INFO [org.jboss.as.server] (HttpManagementService-threads - 14) JBAS018559: Deployed "Test.jar"

而在我链接的第一个站点上示例的日志文件中,还有一行,即:

Register module: Module "deployment.utils.jar:main" from Service Module Loader

它是仅在 EAP 6 上可用的东西,还是在 JBOSS AS 7.1.1-Final 或 JBOSS AS 7.1.1-Final 上也有可能实现这样的结果,您不得不使用文件夹 JBOSS_HOME/modules?

0 投票
0 回答
438 浏览

java - JBoss 模块 java.lang.ClassNotFoundException

我正在尝试使用他们的 JDBC 文件将 OrientDB 数据源部署到 JBoss AS7,并且我不断从本地模块的模块“com.orientechnologies:main”中获取 [java.lang.ClassNotFoundException: com.orientechnologies.orient.core.OSignalHandler loader @6f4051d1(根:/opt/jboss/modules)异常(链接到部分堆栈跟踪)。事情是 - .class 文件与抛出错误的类在同一个 jar 中:

我不太确定为什么它很难看到这一点。我的服务器/启动日志似乎没有提供任何其他错误。

模块.xml

jar tf orientdb-jdbc-2.0.7-all.jar

我试图追踪任何其他依赖项并将它们作为单独的模块公开,我花了很多时间试图找到关于如何构建这些模块以及类解析规则是什么的体面文档,但它们似乎都指向在文件夹结构中只需要两个深度。不确定是否需要在 META-INF 中添加更多内容来指示这些类的位置。

0 投票
1 回答
317 浏览

spring - 在 spring 容器中包含应用程序和石英作业,一切都依赖于部署的 jboss-modules。应用程序工作,但石英失败

直到今天,在我们的应用程序中,我们使用了一个胖战争,所有库都放在 WEB-INF/lib 中,它没有问题,但是当我们将依赖项分离到 jboss-modules 时(应用程序在 spring 容器中运行) , 并已部署,我们能够成功进行休息调用。但该应用程序也有石英作业,这些作业因以下异常跟踪而失败。

11:43:30,586 WARN [AppQuartzScheduler](MSC 服务线程 1-7)无法删除石英作业 :: QuartzJob1 groupName :: DEFAULT QuartzJob1:org.quartz.JobPersistenceException:无法获取作业触发器:QuartzJob1 from [Module” com.mts.dependants:main" 来自本地模块加载器 @4eeba477 (根:D:\3-DevEnv\jboss6.0.1\modules)] [参见嵌套异常:java.lang.ClassNotFoundException: QuartzJob1 来自 [Module "com.mts .dependants:main" 来自本地模块加载器@4eeba477 (根:D:\3-DevEnv\jboss6.0.1\modules)]] 在 org.quartz.impl.jdbcjobstore.JobStoreSupport.getTriggersForJob(JobStoreSupport.java:2144) [quartz -2.2.1.jar:] at org.quartz.impl.jdbcjobstore.JobStoreSupport$28.execute(JobStoreSupport.java:2130) [quartz-2.2.1.jar:] at org.quartz.impl.jdbcjobstore.JobStoreCMT。executeInLock(JobStoreCMT.java:245) [quartz-2.2.1.jar:] at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeWithoutLock(JobStoreSupport.java:3723) [quartz-2.2.1.jar:] at org. quartz.impl.jdbcjobstore.JobStoreSupport.getTriggersForJob(JobStoreSupport.java:2127) [quartz-2.2.1.jar:] at org.quartz.core.QuartzScheduler.getTriggersOfJob(QuartzScheduler.java:1476) [quartz-2.2.1. jar:] at org.quartz.core.QuartzScheduler.deleteJob(QuartzScheduler.java:989) [quartz-2.2.1.jar:] at org.quartz.impl.StdScheduler.deleteJob(StdScheduler.java:301) [quartz- 2.2.1.jar:] 在 AppQuartzScheduler.deleteMTSJob(AppQuartzScheduler.java:93) [classes:] 在 AppQuartzScheduler.deleteOldAndscheduleMTSJobs(AppQuartzScheduler.java:70) [classes:] 在 AppQuartzScheduler.initialize(AppQuartzScheduler.java:47) [classes:] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_60] 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_60 ] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_60] 在 java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_60 ] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1696) [spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.beans.factory。 support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1635) [spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.beans。org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory. java:540) [spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) [spring-beans-4.1 .1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302) [spring-beans-4.1.1.RELEASE.jar:4.1. 1.RELEASE] 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229) [spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) [spring-beans-4.1.1 .RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) [spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE ] 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:725) [spring-beans-4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.context.support。 AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) [spring-context-4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.context.support.AbstractApplicationContext。refresh(AbstractApplicationContext.java:480) [spring-context-4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:663) [spring-webmvc -4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:629) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1 .RELEASE] 在 org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:677) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.web.servlet。 FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:548) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:489) [spring-webmvc-4.1.1.RELEASE.jar:4.1.1.RELEASE] 在 org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) [spring-webmvc-4.1.1 .RELEASE.jar:4.1.1.RELEASE] 在 javax.servlet.GenericServlet.init(GenericServlet.java:242) [jboss-servlet-api_3.0_spec-1.0.1.Final-redhat-2.jar:1.0.1 .Final-redhat-2] 在 org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.17.Final-redhat-1-JBPAPP6-1709.jar:] 在 org.apache .catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.17.Final-redhat-1-JBPAPP6-1709.jar:] at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext. java:3655) [jbossweb-7.0.17.Final-redhat-1-JBPAPP6-1709.jar:] at org.apache.catalina.core.StandardContext.start(StandardContext.java:第3873章【jbossweb-7.0.17.Final-redhat-1-JBPAPP6-1709.jar:】 7.1.3.Final-redhat-4.jar:7.1.3.Final-redhat-4] 在 org.jboss.msc 的 org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)。 service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_60] 在 java.util.concurrent.ThreadPoolExecutor$Worker .run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_60] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_60] 原因:java.lang.ClassNotFoundException :来自 [Module "com.mts.dependants:main" 的 QuartzJob1来自 org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) 的 org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked 的本地模块加载器 @4eeba477 (根:D:\3-DevEnv\jboss6.0.1\modules)] (ConcurrentClassLoader.java:468) 在 org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) 在 org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) 在 org.jboss.modules.ConcurrentClassLoader。 loadClass(ConcurrentClassLoader.java:120) 在 java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_60] 在 java.lang.Class.forName(Class.java:270) [rt.jar:1.7 .0_60] 在 java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:625) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream。readNonProxyDesc(ObjectInputStream.java:1612) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readClass( ObjectInputStream.java:1483) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.defaultReadFields(ObjectInputStream. java:1990) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java: 1798) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) [rt.jar:1.7。0_60] 在 java.util.HashMap.readObject(HashMap.java:1180) [rt.jar:1.7.0_60] 在 sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) [:1.7.0_60] 在 sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_60] 在 java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_60] 在 java.io.ObjectStreamClass .invokeReadObject(ObjectStreamClass.java:1017) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:1798) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.defaultReadFields(ObjectInputStream .java:1990) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) [rt.jar:1.7.0_60] 在 java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) [rt .jar:1.7.0_60] 在 org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.getObjectFromBlob(OracleDelegate.java:141) [quartz-2.2.1.jar:] 在 org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTrigger (StdJDBCDelegate.java:1780) [quartz-2.2.1.jar:] at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectTriggersForJob(StdJDBCDelegate.java:1704) [quartz-2.2.1.jar:] at org.quartz .impl.jdbcjobstore.JobStoreSupport。getTriggersForJob(JobStoreSupport.java:2141) [quartz-2.2.1.jar:] ... 43 更多

11:43:30,845 致命 [AppQuartzScheduler](MSC 服务线程 1-7)无法安排石英作业 ::DEFAULTQuartzJob1:org.quartz.ObjectAlreadyExistsException:无法存储作业:'DEFAULT.QuartzJob1',因为已存在具有此标识的作业. 在 org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1108) [quartz-2.2.1.jar:] 在 org.quartz.impl.jdbcjobstore.JobStoreSupport$2.executeVoid(JobStoreSupport.java:1062) [ quartz-2.2.1.jar:] at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3703) [quartz-2.2.1.jar:] at org.quartz.impl.jdbcjobstore.JobStoreSupport $VoidTransactionCallback.execute(JobStoreSupport.java:3701) [quartz-2.2.1.jar:] at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:

应用结构:

在此处输入图像描述

0 投票
1 回答
108 浏览

jakarta-ee - JBoss 中不同部署之间未处理的字段注释

我们有一个问题,我们有一个带有注释 ( @Resource) 的超类,而扩展该超类的子类是无状态 bean。

与此非常相似,如果超类和子类在同一个模块中,则资源注入成功。如果它们位于单独的模块中,则不会注入资源 - 似乎未处理注释。

我已经通过反射验证了注释在类上是“看到的”,但是当我进入时ResourceInjectionAnnotationParsingProcessor@Resource注释不会显示在从其他模块继承的类上(尽管它确实显示在同一模块中的类上)。

我看到的常见解决方案是jandex文件和设置annotations="true",但这似乎是针对静态模块,而不是其他部署,例如我们的案例。

另一个建议是模块可能缺少对注释的依赖,但在我的示例中,所有涉及的模块都依赖于<module name="javax.annotation.api"/>.

有没有其他方法可以使这些注释从单独的部署中“可见”?

作为一个最小的例子,如果你有一个超类

和一个子类

如果它们在同一个模块中,SessionContext则会显示 。在单独的模块中,SessionContext总是null.