搞通了active MQ后 动手搞weblogic的jms更容易些。
现将weblogic配置jms记录下 以便备忘(本文重点强调配置 , 代码略)。
1.进weblogic的web console
2.持久性存储 新建 JMSSERVER-0 (可选filestore or jdbc store)
3.JMS服务器 新建 持久性存储(myfilestore) 目标 (AdminServer)
4.存储转发代理 新建 代理类型 (因为是测试 所以both) 持久性存储(myfilestore) 目标 (AdminServer)
5.JMS模块 (重点咯)
5.1 新建系统模块 SystemModule-0 (暂时不新增资源)
5.2 进入SystemModule-0 编辑模式 子部署
5.3 为连接工厂新增子部署项 (JMSFactoryNode) 目标JMSSERVER-0
5.4 为队列新增子部署项 (JMSQueueNode) 目标JMSSERVER-0
5.5 为主题新增子部署项 (JMSTopicNode) 目标JMSSERVER-0
5.6 新建连接工厂 ConnectionFactory 重点jndi名称 jndi/connectionfactory
5.7 新建队列 Queue-0 重点jndi名称 jms/queueconnectionfactory
5.8 新建主题 Topic-0 重点jndi名称 jms/topicconnectionfactory
以上算是配置结束
关于队列使用的代码断
// Defines the JNDI context factory.
public final static String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";
// Defines the JNDI provider url.
public final static String PROVIDER_URL = "t3://localhost:7060";
// Defines the JMS connection factory for the queue.
public final static String JMS_FACTORY = "jndi/connectionfactory";
// Defines the queue.
public final static String QUEUE = "jms/queueconnectionfactory";
public void init(Context ctx, String queueName) throws NamingException,
JMSException {
qconFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
qcon = qconFactory.createQueueConnection();
qsession = qcon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
queue = (Queue) ctx.lookup(queueName);
qsender = qsession.createSender(queue);
msg = qsession.createTextMessage();
sm = qsession.createStreamMessage();
bm = qsession.createBytesMessage();
mm = qsession.createMapMessage();
om = qsession.createObjectMessage();
qcon.start();
}
private static InitialContext getInitialContext() throws NamingException {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, JNDI_FACTORY);
env.put(Context.PROVIDER_URL, PROVIDER_URL);
return new InitialContext(env);
// Properties properties = new Properties();
// properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
// properties.put(Context.PROVIDER_URL, "t3://localhost:7060");
// Context context = new InitialContext(properties);
}