JAVA网页编程之Jboss Ejb MDB
先谈谈我对java的一些认识。我选择java,是因为他语法简单,功能强大,从web,到桌面,到嵌入式,无所不能。但当我进一步了解了java后,感叹,java原来也有许多缺点。对jms不是很熟习,弄了几天终究有了点思绪。这里有两个程序、增添了个queue-example-service.xml设置文件很复杂,庞大点的在今后在说。
packageorg.jboss.tutorial.mdb.bean;
importjavax.ejb.MessageDriven;
importjavax.ejb.ActivationConfigProperty;
importjavax.jms.Message;
importjavax.jms.MessageListener;
@MessageDriven(activateConfig=
{
@ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"),
@ActivationConfigProperty(propertyName="destination",propertyValue="queue/tutorial/example")
})
//AdestinationistheobjectontheJBossMQserverthatclients
//usetosendandreceivemessages.Therearetwotypesof
//destinationobjects,QueuesandTopics.
publicclassExampleMDBimplementsMessageListener
{
publicvoidonMessage(MessagerecvMsg)
{
System.out.println("----------------");
System.out.println("Receivedmessage");
System.out.println("----------------");
}
}
英文正文是我在TheJBoss4ApplicationServerGuide找的,能够晓得destination是在jboss服务器里卖力收发动静(message)的中央。Destination依据动静公布体例的分歧分两种:Queues和Topics.
topic公布同意一对多,或多对多通信通道,动静的发生者被叫做publisher,动静承受者叫做subscriber,故称为公布/定阅(publish/Subscribe)。
queue是别的一种体例,仅仅同意一个动静传送给一个客户。一个发送者将动静放在动静行列中,承受者从行列中抽取并失掉动静,动静就会在行列中消散。第一个承受者抽取并失掉动静后,其别人就不克不及在失掉它。又称为点对点(pointtopoint).
关于activateConfig跟queue-example-service.xml有关,这里只需晓得destination就好了。从程序能够看到其接口为MessageListener可猜出这个程序卖力监听动静,收到动静后打印。就是如许:)
Client.java
packageorg.jboss.tutorial.mdb.client;
importjavax.jms.Queue;
importjavax.jms.QueueConnection;
importjavax.jms.QueueConnectionFactory;
importjavax.jms.QueueSender;
importjavax.jms.QueueSession;
importjavax.jms.TextMessage;
importjavax.naming.InitialContext;
publicclassClient
{
publicstaticvoidmain(String[]args)throwsException
{
QueueConnectioncnn=null;
QueueSendersender=null;
QueueSessionsession=null;
InitialContextctx=newInitialContext();
Queuequeue=(Queue)ctx.lookup("queue/tutorial/example");
//这里lookup的内容在queue-example-service.xml有界说jndi
QueueConnectionFactoryfactory=(QueueConnectionFactory)ctx.lookup("ConnectionFactory");
cnn=factory.createQueueConnection();
session=cnn.createQueueSession(false,//不必要事件
QueueSession.AUTO_ACKNOWLEDGE);//主动吸收动静
TextMessagemsg=session.createTextMessage("HelloWorld");
sender=session.createSender(queue);
sender.send(msg);
System.out.println("Messagesentsuccessfullytoremotequeue.");
}
}
Client在这里的实行按次是QueueConnectionFactory 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 是一种突破用户端机器环境和CPU http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 是一种突破用户端机器环境和CPU 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种为 Internet发展的计算机语言 是一种为 Internet发展的计算机语言 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 是一种突破用户端机器环境和CPU 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
页:
[1]
2