1.直接使用应用程序创建。
- public static void main(String[] args) throws JMSException {
- String uri = "tcp://tcp://localhost:61616";
-
- ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(uri);
-
-
- Connection connection = connectionFactory.createConnection();
-
-
- Destination queue = new ActiveMQQueue("Queue");
-
-
- Destination topic = new ActiveMQTopic("Topic");
- }
2.Use Jndi 配置。
使用JNDI配置可以屏蔽具体的实现细节,可以不用修改代码就可以实现在不同消息中间消息件产品之间的切换。一般情况下,我们只要使用JMS规范中提及的那些接口就可以完成所有的编程。它们之间的关系如下:
本例介绍ActiveMQ提供的默认的JNDI的支持。
- java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory
- java.naming.provider.url=tcp://localhost:61616
- //username
- java.naming.security.principal=
- //password
- java.naming.security.credentials=
-
- connectionFactoryNames=con1,con2
- queue.MyQueue=MyQueue
- topic.MyTopic=MyTopic
本例中,配置了两个连接工厂con1,con2,一个Queue对象MyQueue,一个Topic对象MyTopic。
- import java.io.IOException;
- import java.util.Properties;
-
- import javax.naming.Context;
- import javax.naming.InitialContext;
- import javax.naming.NamingException;
-
- import org.apache.log4j.Logger;
-
- public class JndiFactory {
-
- private static final Logger LOGGER = Logger.getLogger(JndiFactory.class);
-
- protected Context context = null;
-
- public void initalize() throws NamingException
- {
- Properties props = new Properties();
- try{
- props.load(this.getClass().getResourceAsStream("jndi.properties"));
- }catch(IOException ex){
- LOGGER.error("Can't load jndi.properties.", ex);
- }
- context = new InitialContext(props);
- }
-
- public Context getJndiContext() throws NamingException {
- if(context == null){
- initalize();
- }
- return context;
- }
-
- }
使用JNDI拿到连接对象以及其他资源。
- public static void main(String[] args) throws NamingException, JMSException {
-
- JndiFactory factory = new JndiFactory();
-
- Context ctx = factory.getJndiContext();
-
-
- ConnectionFactory factory1 = (ConnectionFactory) ctx.lookup("con1");
- ConnectionFactory factory2 = (ConnectionFactory) ctx.lookup("con2");
-
-
- Connection conn = factory1.createConnection();
-
-
- Destination queue = (Queue) ctx.lookup("MyQueue");
-
-
- Destination topic = (Topic) ctx.lookup("MyTopic");
-
- System.out.println(conn);
- System.out.println(queue);
- System.out.println(topic);
-
- }
分享到:
相关推荐
javaJNDI连接数据库
Java通用Dao包括JDBC和JNDI两种连接方式 还有查询,增删改 两种方法。
Java分布式处理技术RMI,JNDI,
JNDI java操作示例,JNDI java操作示例
NULL 博文链接:https://javaeedevelop.iteye.com/blog/1326583
tomcat配置jndi、数据库连接jndi、jndi实例、非常简单,可以快速学习入门。有连接数据库的例子,和具体的配置。
java中使用tomcat提供的JNDI数据源
DBCP、C3P0,JNDI 连接池配置使用,可以参考一下。
经过实践归纳的,参考了tomcat6.0关于配置JNDI的官方文档。经过测试可以配置成功和使用。
对应java代码中获得连接方法:(代码摘要) private Connection dbcon; Context ic = new InitialContext(); DataSource source = (DataSource) ic.lookup("java:comp/env/jdbc/jndidemo"); dbcon = source.get...
基于java的开发源码-EJB中JNDI的使用源码例子.zip 基于java的开发源码-EJB中JNDI的使用源码例子.zip 基于java的开发源码-EJB中JNDI的使用源码例子.zip 基于java的开发源码-EJB中JNDI的使用源码例子.zip 基于java的...
JNDI(Java Naming and Directory Interface)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,...
帆软报表FineReport中数据连接中的Tomcat配置JNDI连接,要通过JNDI方式定义数据连接,首先在Tomcat服务器配置好JNDI,然后在设计器中直接调用JNDI的名字,即可成功使用JNDI连接,本文进行详细演示。
ava 中有两种方式连接oracle数据库,一种是jdbc,另一种是jdbc_odbc: 注:本机上有一名为orcl的oracle数据库 方法一:jdbc方式 1、工作环境:myeclipse中->新建java_oracle工程->新建包com.zp->新建java_oracle_...
java 采用JNDI访问数据库(三种方法)
JavaJNDI 数据链接池及 属性文件读取数据链接信息
这是我平时自己总结的有关做开发时候遇到的JNDI配置相关的问题,不算多,拿出来分享一下
简单的数据库连接池,jndi连接,封装成集合
JAVA数据库连接池(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP) 源码包含各个数据库连接池的连接DEMO spring+mybatis+maven
使用JNDI 连接数据库的三种示例,我已经在代码里标注,使用 MyEclipse 导入即可。欢迎下载我的更多资源。