JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » EJB / 其它Java EE 討論區 » JMS/MDB  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友   
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
作者 GLASSFISH;JNDI的問題請教
IORI71721A





發文: 5
積分: 0
於 2011-03-07 17:22 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
程式碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/*
 * JMS實作聊天室系統
 */
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.jms.*;
import java.io.*;
import javax.naming.*;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
/**
 * @author Alien.Hsu
 */
//需實作javax.jms.MessageLister才可註冊subscriber自動接收訊息
public class Chat implements MessageListener {
    private TopicConnection myTopicConnection;
    private TopicSession myPubSession;
    private TopicSession mySubSession;
    private TopicPublisher myTopicPublisher;
    private TopicSubscriber myTopicSubscriber;
    private String username;
/**
 *
 * @param topicName:欲呼叫的topic
 * @param username:使用者帳號
 * @param password:使用者密碼
 */
    public Chat(String topicName,String username,String password) {
//設定jndi的屬性
        try{
        Properties prop=new Properties();
//        prop.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
//        prop.put(Context.PROVIDER_URL, "iiop://192.168.1.123:7676");
        prop.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.enterprise.naming.SerialInitContextFactory");
        prop.put(Context.PROVIDER_URL, "iiop://192.168.1.123:7676");
//使用jndi尋找資源
        InitialContext jndi = new InitialContext(prop);
        System.out.println("jndi建立");
//建立連線
        TopicConnectionFactory factory=(TopicConnectionFactory)jndi.lookup("TestFactor123");
        TopicConnection topicConnection=factory.createTopicConnection(username, password);
//建立session物件創立publisher,subcriber
//session皆不需交易確認,且收到訊息後自動回覆
        TopicSession pubSession=topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
        TopicSession subSession=topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
//設定jms主題(目標)        
        Topic myTopic=(Topic)jndi.lookup(topicName);
        System.out.println("topic建立");
//建立出版者及訂閱者
        TopicPublisher topicPublisher=pubSession.createPublisher(myTopic);
        TopicSubscriber topicSubscriber=subSession.createSubscriber(myTopic);
////設定listener當收到訊息時自動觸發
//        MessageListener messageListener=topicSubscriber.getMessageListener();
        //為訂閱者設定listener
        topicSubscriber.setMessageListener(this);
//<設定屬性>
        this.setMyTopicConnection(topicConnection);
        this.setMyPubSession(pubSession);
        this.setMySubSession(subSession);
        this.setMyTopicPublisher(topicPublisher);
        this.setMyTopicSubscriber(topicSubscriber);
        this.setUsername(username);
//</設定屬性>
//開始jms連線;讓訊息傳遞
        this.myTopicConnection.start();
        } catch (JMSException ex) {
            System.out.println("帳密錯誤");
            ex.printStackTrace();
        } catch (NamingException ex) {
            System.out.println("jndi連接失敗");
            ex.printStackTrace();
        }
    }

開發環境:
IDE:NETBEANS 6.9
SERVER:GLASSFISH 3.0
各位前輩好,小弟在此請教一下
上述程式在本機端執行皆無問題,為何相同的程式移至另一台電腦便無法執行錯誤位置如下
1
TopicConnectionFactory factory=(TopicConnectionFactory)jndi.lookup("TestFactor123");

錯誤訊息:
at javax.naming.InitialContext.lookup(InitialContext.java:392)
請問有相關文件在教導JNDI對應不同的廠商該如何設定屬性值的嘛如下面兩個屬性的XXX該如何
輸入
1
2
prop.put(Context.INITIAL_CONTEXT_FACTORY,XXX);
prop.put(Context.PROVIDER_URL, XXX);

謝謝解答


reply to postreply to post
話題樹型展開
人氣 標題 作者 字數 發文時間
1665 GLASSFISH;JNDI的問題請教 IORI71721A 3328 2011-03-07 17:22
» JWorld@TW »  EJB / 其它Java EE 討論區 » JMS/MDB

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8