1

我有一个网络应用程序尝试使用 Spring 连接到安全的 TIBCO EMS。在启动时,当 MessageListener 尝试启动时,即使 tibjms.jar 和 tibcrypt.jar 存在于 WEB-INF\lib 目录中,也会得到以下信息。该应用程序部署在 JBoss 7 中。

15:44:14,814 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-1) Context initialization failed: [...] at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.13.Final.jar:] at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_45] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_45] at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45] Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.tibco.security.providers.SecurityVendor_j2se at java.lang.Class.forName0(Native Method) [rt.jar:1.6.0_45] at java.lang.Class.forName(Class.java:171) [rt.jar:1.6.0_45] at com.tibco.security.impl.ooOO.init(SecurityVendor.java:128) [tibcrypt.jar:]

如果我展开 tibcrypt.jar 文件,我可以清楚地看到类 'com.tibco.security.providers.SecurityVendor_j2se' 存在。

有什么想法吗?

谢谢。

4

2 回答 2

1

行。我不知道为什么这会奏效,但很高兴它确实奏效了。我遵循以下内容: 在 JBoss 上配置 EMS over SSL

于 2013-10-18T21:27:42.377 回答
0

这可能是由路径问题引起的。当 jar 文件被加载时。所以在我们的例子中,我们通过在.tra文件中添加这一行来解决它,以便 TIBCrypt.jar首先加载。

tibco.env.CUSTOM_EXT_PREPEND_CP=%TRA_HOME%/lib/TIBCrypt.jar
于 2017-01-17T15:01:25.777 回答