我能够在开发中成功部署我的应用。我使用Spring JMS模板与Tibco客户端进行通信,在weblogic中我设置了一个外部服务器,目标队列为Tibco队列,连接工厂与Tibco连接工厂。我的JNDI初始上下文工厂:是tcp:// name:port ...我能够发布消息并收听它。没有问题。
ISSUE: 当部署到QA(来自开发的战争并被置于QA中)并且在部署过程中我们得到这个
Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: com.tibco.tibjms.naming.TibjmsInitialContextFactory [Root exception is javax.naming.NoInitialContextException: Cannot instantiate class: com.tibco.tibjms.naming.TibjmsInitialContextFactory [Root exception is java.lang.ClassNotFoundException: com.tibco.tibjms.naming.TibjmsInitialContextFactory]]
at weblogic.utils.StackTraceDisabled.unknownMethod()
Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: com.tibco.tibjms.naming.TibjmsInitialContextFactory [Root exception is java.lang.ClassNotFoundException: com.tibco.tibjms.naming.TibjmsInitialContextFactory]
... 1 more
Caused by: java.lang.ClassNotFoundException: com.tibco.tibjms.naming.TibjmsInitialContextFactory
... 1 more
有关可能出现的问题的任何建议?
编辑:人们已经建议这是一个明确的类路径错误。但是在开发中我没有在weblogic中的启动服务器上的类路径中包含任何内容。
答案 0 :(得分:0)
我没有在weblogic中添加外部服务器,而是选择了JMS模板并设置了以下属性。
@Bean
public JndiTemplate jndiTemplate() throws JMSException {
JndiTemplate jndiTemplate = new JndiTemplate();
Properties jndiProps = new Properties();
Properties props = System.getProperties();
String env = props.getProperty("cwt.env");
jndiProps.setProperty("java.naming.factory.initial", environment.getProperty("ems.contextFactory"));
jndiProps.setProperty("java.naming.security.principal", environment.getProperty("java.naming.security.principal"));
jndiProps.setProperty("java.naming.security.credentials", environment.getProperty("java.naming.security.credentials"));
jndiProps.setProperty("java.naming.provider.url", environment.getProperty("tibco.ems.namingUrl"));
jndiTemplate.setEnvironment(jndiProps);
return jndiTemplate;
}
<。>在.properties文件中放置此
ems.contextFactory=com.tibco.tibjms.naming.TibjmsInitialContextFactory
另外,在pom中添加tibjms依赖。
答案 1 :(得分:0)
您需要TibjmsInitialContextFactory
Jar才能使上述代码正常工作。
以下是您使用Maven项目时的Maven依赖项:
<dependency>
<groupId>com.tibco</groupId>
<artifactId>tibjms</artifactId>
<version>8.3</version>
</dependency>
<dependency>
<groupId>com.tibco</groupId>
<artifactId>tibcrypt</artifactId>
<version>8.3</version>
</dependency>