JMS异步消息接问题 jms服务器用的是什么?说说你的环境 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 服务器用的是weblogic8.1, 服务应该是配好的,用另一个类发布消息,再用同步接收是没问题的,异步就没什么反应,接收不到,请指点 当用这个文件发布消息时,用步接收是可以实现的package com.ctele.test;import java.rmi.RemoteException;import java.util.Properties;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.Session;import javax.jms.TextMessage;import javax.jms.Topic;import javax.jms.TopicConnection;import javax.jms.TopicConnectionFactory;import javax.jms.TopicPublisher;import javax.jms.TopicSession;import javax.ejb.CreateException;import javax.ejb.RemoveException;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.rmi.PortableRemoteObject;public class MdbPublishClient{ static private String TOPIC_NAME = "JMSTopic"; private String m_url; private Context m_context; private TopicConnection m_topicConnection; public MdbPublishClient(String url) throws NamingException { m_url = url; try{ //初始化上下文 m_context = getInitialContext(); //查找连接工厂 TopicConnectionFactory cf = (TopicConnectionFactory)m_context.lookup("JMSConnFactory"); m_topicConnection = cf.createTopicConnection(); m_topicConnection.start(); } catch(Exception ex) { ex.printStackTrace(); } } public void example()throws RemoteException, JMSException, NamingException { Topic newTopic = null; TopicSession session = null; try { session = m_topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); newTopic = (Topic) m_context.lookup(TOPIC_NAME); } catch(NamingException ex) { newTopic = session.createTopic(TOPIC_NAME); m_context.bind(TOPIC_NAME, newTopic); } TopicPublisher sender = session.createPublisher(newTopic); TextMessage tm = session.createTextMessage(); String[] quotes = new String[] {"BEAS 40 1/8", "SUNW 79 1/2", "IBM 82 1/4", "Hello !"}; for (int i = 0; i < quotes.length; i++) { tm.setText(quotes[i]); sender.publish(tm); } m_topicConnection.close(); } private Context getInitialContext() throws NamingException { try { // Get an InitialContext Properties h = new Properties(); h.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); h.put(Context.PROVIDER_URL, m_url); return new InitialContext(h); } catch (NamingException ex) { throw ex; } } public static void main(String[] args) throws Exception { String url = "t3://localhost:7001"; MdbPublishClient client = null; try { client = new MdbPublishClient(url); } catch (NamingException ne) { System.exit(1); } try { client.example(); } catch (Exception e) { e.printStackTrace(); } }} 用createDurableSubscriber创建一个持久订阅者不要用createSubscriber试试?createSubscriber异步时可能收不到消息的 我用 java写的 akka zeromq 看不到效果,pubSocket发送的message subSocket 不能够收到,请高手解答一下。 JAVA 解析XML 问题 。 求一个SQL语句 j2ee入门级问题 DWR和struts2标签问题 读取文件流时出现乱码 request问题 servlet与applet的通信程序,老是调不同,那位大哥帮我看一下 一个使用J2EE技术的项目的软件开发过程一般都是什么样的呢? 文明始于禁忌——《高质量Java程序设计》 怎样建立域名(tomcat)?? 在WebLogic8.1中,Servlet访问EJBs,如何访问??如何配置部署描述项??
package com.ctele.test;import java.rmi.RemoteException;
import java.util.Properties;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicPublisher;
import javax.jms.TopicSession;
import javax.ejb.CreateException;
import javax.ejb.RemoveException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;public class MdbPublishClient{
static private String TOPIC_NAME = "JMSTopic";
private String m_url;
private Context m_context;
private TopicConnection m_topicConnection;
public MdbPublishClient(String url) throws NamingException
{
m_url = url;
try{
//初始化上下文
m_context = getInitialContext();
//查找连接工厂
TopicConnectionFactory cf = (TopicConnectionFactory)m_context.lookup("JMSConnFactory");
m_topicConnection = cf.createTopicConnection();
m_topicConnection.start();
}
catch(Exception ex) {
ex.printStackTrace();
}
} public void example()throws RemoteException, JMSException, NamingException
{
Topic newTopic = null;
TopicSession session = null;
try {
session = m_topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
newTopic = (Topic) m_context.lookup(TOPIC_NAME);
}
catch(NamingException ex) {
newTopic = session.createTopic(TOPIC_NAME);
m_context.bind(TOPIC_NAME, newTopic);
} TopicPublisher sender = session.createPublisher(newTopic);
TextMessage tm = session.createTextMessage();
String[] quotes = new String[] {"BEAS 40 1/8", "SUNW 79 1/2", "IBM 82 1/4", "Hello !"};
for (int i = 0; i < quotes.length; i++) {
tm.setText(quotes[i]);
sender.publish(tm);
}
m_topicConnection.close();
} private Context getInitialContext() throws NamingException {
try {
// Get an InitialContext
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, m_url);
return new InitialContext(h);
}
catch (NamingException ex) {
throw ex;
}
} public static void main(String[] args) throws Exception {
String url = "t3://localhost:7001";
MdbPublishClient client = null;
try {
client = new MdbPublishClient(url);
} catch (NamingException ne) {
System.exit(1);
}
try {
client.example();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
createSubscriber异步时可能收不到消息的