WEBLOGIC 6.1 的安装 无状态SessionBean开发 数据源的设置 JMS的使用的简单介绍WEBLOGIC 6.1 的安装所需软件: 一个安装用压缩包和一个破解的文件安装过程:1.双击安装文件,将WEBLOGIC安装到D:\BEA在询问是否作为一个WINGDOW SERVER时,选择NO其余选缺省值2.按照破解说明,README文件,去除30天限制3.编辑 D:\bea\wlserver6.1\config\mydomain tartWebLogic.cmd69行中 set WLS_PW=yourpassword56行中 set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar就是WEBGLOIC运行中用到的CLASSPATH在这里可以加入所需要的类和路径73行 set STARTMODE=true设置模式 true 为PRODUCT 模式false 为 Development 模式 此模式中 可以自动查找并发布 applications 目录及其子目录中的EJB的jar包4.在菜单中启动 WEBLOGIC 启动控制台(start default console)测试服务无状态SessionBean开发EJB是WEBLOGIC提供的一种服务,使用RMI调用过程:客户端,通过URL找到EJB服务器通过JNDI找到具体的EJB发送请求,得到返回值(远程方法调用协议)客户端得到一个远程接口,WEBLOGIC 通过此接口给客户端提供服务EJB通过JAR包发布,包含EJB的CLASS文件和EJB的描述文档具体参照HelloWorld.jar的过程其中HelloHome创建远程接口Hello,客户端通过这个接口调用HELLOBEAN中的对应方法.其中HelloBean.class只在服务器端使用Hello and HelloHome interface 客户端和服务器均必须使用注意weblogic-ejb-jar.xml 中 <jndi-name>com.helloworld</jndi-name>com.helloworld用来标记EJB,并加入JNDI命名空间中编制好EJB的JAR包后,拷贝到applications目录下使用WEBLOGIC控制台发布在左边树中点击 domain/deployments/ejb节点在右边选择"Install a new EJB..."根据提示操作Weblogic6.1的JDBC缓冲池的使用1.将用的的DRIVE CLASS 设置到 WEBLOGIC 的CLASSPATH 中启动WEBLOGIC 打开控制台2.在左边树中点击domain/Servcies/JDBC/Connection Pools节点Configuration_General页中name:myOraclePool (Any Name Is Ok!)URL:jdbcracle:thin:@ServerIp:1521:sidDRIVERCLASSName: oracle.jdbc.driver.OracleDriverProperties: user=yourUserName Password=yourPasswordthen clike the "create" buttonThe Pool is created.3.Configuration_Connections页:Initial Capacity: 缓冲池创建后的初始连接数。Maximum Capacity: 最大的连接数。Capacity Increment: 当连接不够时,缓冲池中自动创建的连接数量(不超过Maximum Capacity)。Login Delay Seconds: 缓冲池创建连接时的允许延迟时间。Refresh Period: 当Testing页配置了TestTableName后,如果此周期不为零,则每个空闲连接都要按此周期进行测试,如果连接不正确,则关闭此连接并尝试重建连接。Allow Shrinking: 缓冲池按Capacity Increment创建新的连接后,如果存在空闲连接,是否允许自动删除空闲连接(直到达到Initial Capacity数量)Shrink Period: 删除空闲连接的周期。我们可以按如下格式设置:Initial Capacity: 5Maximum Capacity: 10Capacity Increment: 1Login Delay Seconds: 0Refresh Period: 0Allow Shrinking: trueShrink Period: 15Configuration_General页设置完毕后按右下角的"Apply"按钮保存设置。Target页:绑到使用缓冲池的Server缓冲池创建后可以修改,修改的结果只有重新启动Weblogic服务器后有效。通过右键菜单可以删除、复制缓冲池。4.设置数据源1、在Weblogic的控制台左边树中点击domain/Servcies/JDBC/Data Sources节点。2、在右边选择"Create a new JDBC Data Source…"超链接,创建新的数据源。按提示操作就行了注:最好用TX Data Source ---进行tranaction处理.方法一样.5.使用数据源同EJB的使用,找URL找JNDI得到一个CONNECTIONJMS简介消息系统 消息系统允许分开的未耦合的应用程序之间可靠地异步通信。类同邮件系统. 通常有两种消息类型。 1.发布/订阅(publish/subscribe) 发布/订阅消息系统支持一个事件驱动模型,消息产生者和使用者都参与消息的传递。产生者发布事件,而使用者订阅感兴趣的事件,并使用事件。产生者将消息和一个特定的主题(Topic)连在一起,消息系统根据使用者注册的兴趣,将消息传给使用者。 2.点对点(Peer to peer) 在点对点的消息系统中,消息分发给一个单独的使用者。它维持一个"进入"消息队列。消息应用程序发送消息到一个特定的队列,而客户端从一个队列中得到消息JMS和EJB一样是WEBLOGIC 提供的服务,客户端通过JNDI名字查找在控制台 先创建一个JMS的主题,设定一个JNDI(参照提示做啊,跟前边的介绍雷同) 一个典型的JMS客户端由下面的几个基本步骤来创建: 创建一个到消息系统提供者的连接(Connection) 创建一个Session,用于接收和发送消息 创建MessageProducer和MessageConsumer来创建和接收消息 当完成了上述步骤后,一个消息产生者客户端将创建并发布消息到一个主题,(JNDI)而消息使用者客户端会接收与一个主题相关的消息。 1.创建一个Connection 一个Connection提供客户端对底层的消息系统的访问。并实现资源的分配和管理。通过使用一个ConnectionFactory来创建一个Connection,通常用JDNI来指定: Connection message=new initialContext();TopicConnectionFactory topicConnectionFactory=(TopicConnectionFactory);topic = (Topic) jndiContext.lookup(topicName);topicConnection =topicConnectionFactory.createTopicConnection(); 2.创建一个Session Session是一个比较大的JMS对象,他提供了生产和消费消息的手段。用于创建消息使用者和消息产生者。 topicSession = topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE); 两个参数用于控制事务和消息确认。 3.定位一个Topic 用JDNI来定位一个Topic,Topic用于识别发送或接收的消息,在发布/订阅系统中。订阅者订阅一个给定的Topic,而发布者将它发布的消息与一个Topic相连。 下面是创建一个Topic "WeatherReport" Topic weatherTopic=messaging.lookup("WeatherReport"); 4.启动Connection 在上面的初始化步骤之后,消息流是禁止的,用于防止在初始化时发生不可预料的行为。一旦初始化结束,必须让Connection启动消息系统。 topicConnection.start(); 5.创建一个消息产生者 在发布/订阅里,一个产生者发布消息到一个指定的Topic。下面的代码显示创建一个产生者,以及后续的建立和发布一个简单文本消息。 TopicPublisher publisher=session.createPublisher(weatherTopic); TexeMessage message=session.createMessage(); message.setText("ssss"); publisher.publish(message); 下面是一个消息使用者的代码 topicConnection =topicConnectionFactory.createTopicConnection();topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);topicSubscriber = topicSession.createSubscriber(topic);topicListener = new MsgListener();topicSubscriber.setMessageListener(this);topicConnection.start();