配datasource?
给什么配datasource啊?

解决方案 »

  1.   

    没做过,你有用到数据库的话就要配datasource
      

  2.   

    先在service-->jms-->connection factories配置一连接工厂,然后在service-->jms-->server下创建一个消息服务,并且在该消息服务下创建你所要的queue或者topic消息目的。这样就配置还了你的jms了
      

  3.   

    我就是这样做的啊,但是测试程序告诉我找不到我设置的connection factory,我用的weblogic,咋办?
      

  4.   

    WebLogic7.0缺省就建好了两个ConnectionFactory:javax.jms.TopicConnectionFactory和javax.jms.QueueConnectionFactory;所以没有必要建自己的,当然用自己建的也无所谓。
    你这样再试试吧:
    .....
            try {
                Properties prop = new Properties();
                prop.setProperty(InitialContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
                prop.setProperty(InitialContext.PROVIDER_URL,"t3://localhost:7001");
                ctx = new InitialContext(prop);            qConnFactory = (QueueConnectionFactory)ctx.lookup("javax.jms.QueueConnectionFactory");
                queue = (Queue)ctx.lookup("MyJMSQueue");
                qConn = qConnFactory.createQueueConnection();
                qSession = qConn.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
            } catch(Exception e) {
                e.printStackTrace();
            }
    ..........
      

  5.   

    看看这个吧,应该有帮助http://www.csdn.net/develop/read_article.asp?id=15760
      

  6.   

    我照着上面的配置配好了weblogic,然后自己写了一个程序,但在消费者receive()时程序停了,怎么回事?package jmstest;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2003</p>
     * <p>Company: </p>
     * @author unascribed
     * @version 1.0
     */import javax.jms.*;
    import javax.naming.*;
    import java.util.Properties;public class testLister {  public testLister() {
      }
      public static void main(String[] args) {
        testLister t1 = new testLister();
        try{
          t1.publish();
          t1.comsumer();
        }catch(Exception ex){
          ex.printStackTrace();
        }
      }
      public void publish() throws Exception{
        log("start publish.....");
        Context ctx = getInitialContext();
          TopicConnectionFactory tConFactory = (TopicConnectionFactory)ctx.lookup("MDBDemoCF");
          Topic newTopic = (Topic)ctx.lookup("MDBDemo Topic");
          TopicConnection tCon = tConFactory.createTopicConnection();
          TopicSession session = tCon.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
          TopicPublisher publisher = session.createPublisher(newTopic);
          TextMessage msg = session.createTextMessage();
          msg.setText("Hello");
          publisher.publish(msg);
          log("end publish.");
      }  public void comsumer() throws Exception{
        log("start comsumer....");
          Context ctx = getInitialContext();
          TopicConnectionFactory tConFactory = (TopicConnectionFactory)ctx.lookup("MDBDemoCF");
          Topic newTopic = (Topic)ctx.lookup("MDBDemo Topic");
          TopicConnection tCon = tConFactory.createTopicConnection();
          TopicSession session = tCon.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
          TopicSubscriber subscriber = session.createSubscriber(newTopic);
          tCon.start();
          TextMessage msg = (TextMessage)subscriber.receive();//这是这句过不去
          log("receiver="+msg.getText());
      }  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, "t3://localhost:7001");
        return new InitialContext(h);
      }catch (NamingException ex) {
        log("We were unable to get a connection to the WebLogic server at t3://localhost:7001");
        log("Please make sure that the server is running.");
        throw ex;
      }
      }  private static void log(String s) {
        System.out.println(s);
      }}
      

  7.   

    http://www.net7b.com/net7b_tech/lookart.asp?id={C4902551-DAB4-4251-808D-77DA15C63289}
      

  8.   

    终于搞成功了,帖出来共享://-----------------------------订阅者-------------------------
    package jmstest;import javax.jms.*;
    import javax.naming.*;
    import java.util.*;public class testDurableListener implements MessageListener,Runnable {  private String id = "";  private Topic topic = null;
      private TopicSession session = null;
      private TopicConnectionFactory tcf = null;
      private TopicConnection tc = null;
      private Context ctx = null;
      private TopicSubscriber scriber = null;  public String strTopic = "MDBDemoTopic";
      public String strFactory = "MDBDemoCF";  public testDurableListener(String id) {
        this.id = id;
        init();
      }  private void init(){
        try{
          ctx = getInitialContext();
          tcf = (TopicConnectionFactory)ctx.lookup(this.strFactory);
          tc = tcf.createTopicConnection();
          tc.setClientID(id);
          session = tc.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
          topic = (Topic)ctx.lookup(this.strTopic);
          scriber = session.createDurableSubscriber(topic,id);
          scriber.setMessageListener(this);
          tc.start();
        }catch(Exception ex){
          ex.printStackTrace();
        }finally{
          try{
            ctx.close();
          }catch(Exception exx){}
        }
      }  public void onMessage(Message msg){
        try{
          TextMessage message = (TextMessage)msg;
          System.out.println("##"+id+"##"+message.getText());
        }catch(Exception ex){
          ex.printStackTrace();
        }
      }  public void run(){
        while(true){
          synchronized(this){
            try{
              wait();
            }catch(InterruptedException ex){
              //ex.printStackTrace();
            }
          }
        }
      }  public 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, "t3://localhost:7001");
          return new InitialContext(h);
        }catch (NamingException ex) {
          throw ex;
        }
      }
    }//--------------------------------发布消息、main----------------------------------
    package jmstest;import javax.jms.*;
    import javax.naming.*;
    import java.util.*;public class testDurable {  private Topic topic = null;
      private TopicSession session = null;
      private TopicConnectionFactory tcf = null;
      private TopicConnection tc = null;
      private Context ctx = null;
      private TopicPublisher publisher = null;  public String strTopic = "MDBDemoTopic";
      public String strFactory = "MDBDemoCF";  public testDurable() {
      }  public static void main(String[] args) {
        testDurableListener lis1 = new testDurableListener("1");
        Thread t1 = new Thread(lis1);
        t1.start();    testDurableListener lis2 = new testDurableListener("2");
        Thread t2 = new Thread(lis2);
        t2.start();    testDurableListener lis3 = new testDurableListener("3");
        Thread t3 = new Thread(lis3);
        t3.start();    testDurable durable = new testDurable();
        durable.publishMessage();
      }  public void publishMessage(){
        try{
          ctx = getInitialContext();
          tcf = (TopicConnectionFactory)ctx.lookup(this.strFactory);
          tc = tcf.createTopicConnection();
          session = tc.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
          topic = (Topic)ctx.lookup(this.strTopic);
          publisher = session.createPublisher(topic);
          Message msg = session.createTextMessage("hhhhhhhhhhhhhhhhhhhhhhhhh");
          msg.setStringProperty("name","john");
          msg.setStringProperty("age","26");
          publisher.publish(msg);
          System.out.println("publish complete ");
          tc.close();
        }catch(Exception ex){
          ex.printStackTrace();
        }finally{
          try{
            ctx.close();
          }catch(Exception exx){}
        }
      }  public 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, "t3://localhost:7001");
        return new InitialContext(h);
      }catch (NamingException ex) {
        throw ex;
      }
      }}