分享
 
 
 

实战JBuilder7+WebLogic7(四)续JMS+Message-Driven Bean

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

由于CSDN不能显示全部文章,要浏览全文请浏览以下连接

http://weisoft.myrice.com/Docs/JMSMDB.htm

内容简介:

1。连接MS SQL Server2000

2。Session Bean

3。Entity Bean

4。JMS+Message-Driven bean

5。JSP调用EJB(待续)

全部实战内容都经过严格测试,决无问题,只需严格按照文中步骤即可!

实战4:JMS

配置Weblogic

1. 启动WebLogic7

2. 打开IE6,在地址栏中输入:<http://localhost:7001/console>

3. 输入用户名和密码

4. 在左边的目录树中选中Services->JMS->Connection Factories,单击右侧的Configure a new JMS Connection Factory ,输入以下信息:

Configuration->General页:

Name = MDBDemo Connection Factory

JNDIName= MDBDemoCF

其它不变,单击Create建立Connection Factory。

Targets->Server页:

将myserver(服务器名称)移至右侧的列表中,但击单击Apply

5. 在左边的目录树中选中Services->JMS->Stores,单击右侧的Configure a new JMSFileStore,输入以下信息:

Configuration->General页:

Name = MDBDemo Store

Directory: = F:\bea\user_projects\mydomain\JMSStores (任意存在的目录即可)

单击Create建立JMSFileStore。

6. Services->JMS->Servers,单击右侧的Configure a new JMS Connection Factory ,输入以下信息:

Configuration->General页:

Name = MDBDemo JMSServer

Store = MDBDemo Store

其它不变,单击Create建立JMS Server。

Targets->Servers页:

Target = myserver(你的weblogic server的名字)

单击Configuration->General页中的Configure Destinations

Name = MDBDemo Topic

JNDIName= MDBDemo Topic

其它不变,单击Create建立Destination。

配置完毕。

建立Message Driven Bean:

1. 关闭所有工程:File->Close Projects

2. 选择File->New project

3. 在Name栏中输入MDBDemo,Directory栏中输入存放路径(不要有空格),其他不变,单击Finish。

4. 选择File->New->Enterprise->EJB Module单击OK。

5. 在弹出的对话框中,在Name中输入MDBMoudle, Version选择:EJB2.0 Compliant其余不变,单击OK关闭当前对话框。

6. 在右侧的EJB Designer 中单击鼠标右键选择:Create EJB->Message-Driven Bean,按如下填写:

Bean Name = MDBDemo

Transaction Type = Container

Destination Name = MDBDemo Topic

Destination Type = javax.jms.Topic

其它不变。

7.Project->Make ”MDBModule”, 编译成功后,右键单击左上角的MDBModule选择Deploy Options for ”MDBModule.jar”->Deploy,将其发布至Weblogic。

建立客户端:

以下是客户端源码,保存成TestClient.java加入工程后,选择Run->Run “TestClient.java” using defaults运行即可,可以在weblogic console窗口看到输出。如果看不到输出,重起weblogic试一试。

package mdbdemo;

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;

/**

* This class illustrates calling a Message-Driven bean and publishing

* quotes on a topic.

*

* @author Copyright (c) 1998-2002 by BEA Systems, Inc. All Rights Reserved.

*/

public class TestClient {

static private String TOPIC_NAME = "MDBDemo Topic";

private String m_url;

private Context m_context;

private TopicConnection m_topicConnection;

public TestClient(String url)

throws NamingException

{

m_url = url;

try {

//

// Create a context

//

m_context = getInitialContext();

//

// Create the connection and start it

//

TopicConnectionFactory cf =

(TopicConnectionFactory) m_context.lookup("MDBDemoCF");

m_topicConnection = cf.createTopicConnection();

m_topicConnection.start();

}

catch(Exception ex) {

ex.printStackTrace();

}

}

/**

* Runs this example from the command line. Example:

* <p>

* <tt>java examples.ejb20.message.Client "t3://localhost:7001"</tt>

* <p>

* The parameters are optional, but if any are supplied,

* they are interpreted in this order:

* <p>

* @param url URL such as "t3://localhost:7001" of Server

*/

public static void main(String[] args) throws Exception {

log("\nBeginning message.Client...\n");

String url = "t3://localhost:7001";

TestClient client = null;

try {

client = new TestClient(url);

} catch (NamingException ne) {

System.exit(1);

}

try {

client.example();

}

catch (Exception e) {

log("There was an exception while creating and using the MDB.");

log("This indicates that there was a problem communicating with the server: "+e);

//e.printStackTrace();

}

log("\nEnd message.Client...\n");

}

/**

* Runs this example.

*/

public void example()

throws RemoteException, JMSException, NamingException

{

Topic newTopic = null;

TopicSession session = null;

try {

session =

m_topicConnection.createTopicSession(false, // non transacted

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);

}

}

/**

* Using a Properties object will work on JDK 1.1.x and Java2

* clients

*/

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) {

log("We were unable to get a connection to the WebLogic server at "+m_url);

log("Please make sure that the server is running.");

throw ex;

}

}

/**

* This is the Java2 version to get an InitialContext.

* This version relies on the existence of a jndi.properties file in

* the application's classpath.

*

*/

// private static Context getInitialContext()

// throws NamingException

// {

// return new InitialContext();

// }

private static void log(String s) {

System.out.println(s);

}

}

实战5:JSP调用EJB

(待续)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有