TongWeb替换tomcat Resource 配置
·
TongWeb的“JNDI资源” 功能用以替换tomcat Resource 配置,该配置常用于JMS、数据源配置.

场景一:JMS配置
tomcat集成ActiveMQ、TongLINK/Q8.1方式
<Resource name="queue/connectionFactory"
auth="Container"
type="org.apache.activemq.ActiveMQConnectionFactory"
description="JMS Connection Factory"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
brokerURL="tcp://localhost:61616"
brokerName="LocalActiveMQBroker" />
<Resource name="queue/queue0"
auth="Container"
type="org.apache.activemq.command.ActiveMQQueue"
description="My Queue"
factory="org.apache.activemq.jndi.JNDIReferenceFactory"
physicalName="Queue" />
<!--
TongJMS client jar must be visible to Tomcat JNDI resource creation.
Copy lib/TongJMS-jms2.0-8.1.17.2-0608.jar to $CATALINA_BASE/lib or $CATALINA_HOME/lib.
-->
<Resource auth="Container"
name="jms/TongJmsConnectionFactory"
type="com.tongtech.tmqi.ConnectionFactory"
description="TongJMS JMS 2.0 connection factory"
factory="com.tongtech.tmqi.naming.AdministeredObjectFactory"
version="3.0"
readOnly="false"
tmqiAddressList="tlq://10.10.22.113:10024"
tmqiDefaultUsername="guest"
tmqiDefaultPassword="guest"
tmqiReconnectEnabled="true"
tmqiReconnectAttempts="3"
tmqiReconnectInterval="3000"
tmqiAckTimeout="60000" />
<Resource auth="Container"
name="jms/FooQueue"
type="com.tongtech.tmqi.Queue"
description="TongJMS queue"
factory="com.tongtech.tmqi.naming.QObjectFactory"
version="1.1"
destName="lq" />
TongWeb JNDI资源配置方式如下,这种方式比JCA genericra方便些。
1. 将activemq-all.jar放在TongWeb的lib下或控制台选择jar路径。
2. 队列及队列工厂的配置如下:
3.可以看到JNDI树上有相应配置

4.在代码上与tomcat区别如下:
InitialContext context = new InitialContext();
/*
* tomcat方式 QueueConnectionFactory conFactory =
* (QueueConnectionFactory)
* context.lookup("java:comp/env/queue/connectionFactory");
*/
// TongWeb方式
QueueConnectionFactory conFactory = (QueueConnectionFactory) context.lookup("queue/connectionFactory");
/*
* tomcat方式 Queue queue = (Queue)
* context.lookup("java:comp/env/queue/queue0");
*/
// TongWeb方式
Queue queue = (Queue) context.lookup("queue/queue0");
QueueConnection queConn = conFactory.createQueueConnection();
同理:在TongWeb8.0上配TongLINK/Q8.1的"JNDI资源"也是如此。
1. 将TLQ8.1相关jar放在TongWeb的lib目录下。
2. 配置JNDI资源的连接工厂和队列。


<!-- tongweb.xml中相关配置 -->
<Resources>
<Resource aliases="jms/TongJmsConnectionFactory" classpath="" connectionProperties="" depends-on="" factoryClass="com.tongtech.tmqi.naming.AdministeredObjectFactory" id="TongJmsConnectionFactory" otherProperties="version=3.0,readOnly=false,tmqiAddressList=tlq%3A%2F%2F127.0.0.1%3A10024,tmqiDefaultUsername=guest,tmqiDefaultPassword=guest,tmqiReconnectEnabled=true,tmqiReconnectAttempts=3,tmqiReconnectInterval=3000,tmqiAckTimeout=60000" resourceType="com.tongtech.tmqi.ConnectionFactory" type="java.lang.Object"/>
<Resource aliases="jms/FooQueue" classpath="" connectionProperties="" depends-on="" factoryClass="com.tongtech.tmqi.naming.QObjectFactory" id="FooQueue" otherProperties="version=1.1,destName=queueA" resourceType="com.tongtech.tmqi.Queue" type="java.lang.Object"/>
</Resources>
场景二:数据源场景
正常情况下采用JNDI数据源是通过TongWeb的“JDBC配置” ,若想集成第三方开源数据源,且通过JNDI调用方式引用的话也可以配置
代码使用方式:
Context env = new InitialContext();
DataSource dataSource = (DataSource) env.lookup("jdbc/test");
Connection con = dataSource.getConnection();
注:这种是数据源的一种非正常使用方式,非特殊要求尽量少用。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)