目前,我们使用JNDI的Tomcat配置基于这一建议,该建议目前正在发挥作用。
如何使用JMS和JNDI连接到WebSphere MQ(MQ系列)服务器?
由于我们正在升级到v8,我想利用JMS 2.0特性。这需要将jar文件更新到JMS 2.0版本。
因此,我从tomcat lib文件夹中删除了以下JAR。
用这些罐子代替了它们。根据这个链接
我的JNDI配置与此配置匹配。
<Resource
name="jms/MyQCF"
auth="Container"
type="com.ibm.mq.jms.MQQueueConnectionFactory"
factory="com.ibm.mq.jms.MQQueueConnectionFactoryFactory"
description="JMS Queue Connection Factory for sending messages"
HOST="<mymqserver>"
PORT="1414"
CHAN="<mychannel>"
TRAN="1"
QMGR="<myqueuemanager>"/>
现在有了更新的jar文件,我得到了以下例外。
Caused by: java.lang.NoClassDefFoundError: javax/jms/JMSRuntimeException
at com.ibm.mq.jms.MQQueueConnectionFactoryFactory.getObjectInstance(MQQueueConnectionFactoryFactory.java:69)
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:141)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at org.apache.naming.NamingContext.lookup(NamingContext.java:842)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.NamingContextBindingsEnumeration.nextElementInternal(NamingContextBindingsEnumeration.java:117)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:71)
at org.apache.naming.NamingContextBindingsEnumeration.next(NamingContextBindingsEnumeration.java:34)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:138)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:110)
at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:82)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:724)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
问题:
我应该在类路径中包含另一个jar文件吗?
或者v8的JNDI配置是否已更改?
你的思路是对的,但出于你的目的,我将从最新的8.0.0版本中获取该文件。x MQ客户端修复包。然后我会去技术说明,解释安装过程,并尝试。
我确信IBM有一个从服务器安装中获取JAR的过程,但是由于这些JAR的打包方式似乎不同,我会把钱花在为独立交付而设计和测试的软件包上,例如我在上面链接的那个。
顺便说一句,由于现在支持这一点,如果它不起作用,你可以打开一个PMR,告诉IBM你严格按照他们的指示,让他们和你一起完成修复。(然后在这里发布修复它的方法。)但是如果你只是去抓取随机的jar文件并希望它能起作用,他们不会这样做。
我做了这方面的所有工作:如何连接tomcat 7和mysql<br>但它仍然无法工作……为什么?我错过了什么? OS:Win7<br>Eclipse:J2EE Mars<br>Tomcat:Tomcat 8.0<br>java:1.8.0_73<br>数据库名称:测试<br>用户名:root<br>密码:123 (在TOMCAT_HOME/conf中)< br >(也在localhost-conf
我试图在MySQL上设置一个非常简单的会话连接变量,但它没有任何作用。下面运行的查询不会导致任何错误,但不会更改MySQL连接的字符集。如果我在文件中将“collation\u server”和“character\u set\u server”的默认值配置为,而不是,那么字符集将变为,但我想知道为什么我不能从PHP脚本中更改连接字符集。 此查询显示语句没有影响。
我设置了一个密钥库,并从openssl.com.获得了SSL证书。我遵循的确切步骤如下:https://drive.google.com/file/d/0B6PUGo7cBLcDTzdkc0pzT2pTMk0/view?usp=sharing 不幸的是,即使在严格按照tomcat的说明并与客户支持人员合作后,我的https连接也超时了。 tomcat似乎已启动并运行,正在监听端口443,但我不知道
我正在尝试在Windows上为SSL配置Tomcat 8。 我遵循了这里的说明: https://www.mulesoft.com/tcat/tomcat-ssl 因此,我创建了密钥库: 和企业社会责任: 我从提供商那里拿回了根文件和新证书,并将它们安装在密钥库中: 然后在Tomcat的服务器上。xml我已取消注释并更新: 并重新启动,但当我转到: 我只是得到一个暂停,我被难住了。stackove
我正在尝试在要部署在Tomcat 7中的Web应用程序中设置JNDI查找。我在文件中指定了以下属性: java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory,java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces,java.naming.prov
使用JNDI,我可以连接到ActiveMQ。但是当切换提供程序类时,它给了我以下异常。 Spring JNDI配置: 例外情况: null