weblogic8.13配置JMS的步骤

weblogic8.13配置JMS的步骤

1)进入consle控制台
2)mydomain->服务->JMS->连接工厂->配置新的JMS Connection Factory :指定JNDI名称 jms/SendJMSFactory,客户端ID,指定目标和部署myserver
暂时不指定客户端ID,因为MessageDrivenBean跟消息发送端都用到这个JMSConnectionFactory会抛出weblogic.jms.common.InvalidClientIDException
3)mydomain->服务->JMS->存储->配置新的JMS File Store :指定目录
4)mydomain->服务->服务器->配置新的JMS Server :选择第3步配置好的持久性存储 ,指定目标和部署myserver
5)给配置好的MyJMS Server->目标->配置新的 JMS Queue 指定 JNDI jms/SendJMSQueue

消息发送端
服务器URL: t3://localhost:7001
连接工厂: jms/SendJMSFactory
队列: jms/SendJMSQueue

可以点击mydomain->服务器->myserver->常规->查看JNDI树 查看时否已经有了两个jms的JNDI,有则表示部署成功了

每一个消息驱动EJB监听一个关联的JMS目的地。如果
这个JMS目的地被部署在另外一个Weblogic服务器实例
或者是外部的JMS提供者,这样得不到JMS目的地,这种情况下
EJB容器自动试探去连接JMS服务器,如果JMS重新启动,消息驱动Bean
就又可以接受消息了

jms-polling-interval-seconds 定义扫描监听JMS的间隔时间,默认10秒

6)使用Spring开发JMS消息发送端

JMSSender.java

package.com.corp.service;

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;

/**
* @author Administrator
*/
public class JMSSender {

private static Log log = LogFactory.getLog(JMSSender.class);

private JmsTemplate jmsTemplate;

/**
* @return Returns the jmsTemplate.
*/
public JmsTemplate getJmsTemplate() {
return jmsTemplate;
}

/**
* @param jmsTemplate
*            The jmsTemplate to set.
*/
public void setJmsTemplate(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
}

public void sendMessage(final String s) {
jmsTemplate.send(new MessageCreator() {
public Message createMessage(Session session) throws JMSException {

log.debug(“Creating the message from loan parameters.”);
TextMessage textMessage = session.createTextMessage(s);

return textMessage;
}
});
}
}

applicationContext.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “http://www.springframework.org/dtd/spring-beans.dtd”>

<beans default-lazy-init=”true”>

<bean id=”jndiTemplate” class=”org.springframework.jndi.JndiTemplate”>
<property name=”environment”>
<props>
<prop key=”java.naming.factory.initial”>weblogic.jndi.WLInitialContextFactory</prop>
<prop key=”java.naming.provider.url”>t3://localhost:7001</prop>
</props>
</property>
</bean>

<bean id=”jmsQueueConnectionFactory”
class=”org.springframework.jndi.JndiObjectFactoryBean”>
<property name=”jndiTemplate”>
<ref bean=”jndiTemplate”/>
</property>
<property name=”jndiName”>
<value>jms/SendJMSFactory</value>
</property>
</bean>

<bean id=”sendDestination”
class=”org.springframework.jndi.JndiObjectFactoryBean”>
<property name=”jndiTemplate”>
<ref bean=”jndiTemplate”/>
</property>
<property name=”jndiName”>
<value>jms/SendJMSQueue</value>
</property>
</bean>

<bean id=”jmsTemplate”
class=”org.springframework.jms.core.JmsTemplate102″>
<property name=”connectionFactory”>
<ref bean=”jmsQueueConnectionFactory”/>
</property>
<property name=”defaultDestination”>
<ref bean=”sendDestination”/>
</property>
<property name=”receiveTimeout”>
<value>30000</value>
</property>
</bean>

<bean id=”jmsSender” class=”com.corp.service.JMSSender”>
<property name=”jmsTemplate”>
<ref bean=”jmsTemplate”/>
</property>
</bean>
</beans>

index.jsp
调用JMSSender发送消息

<%@ page language=”java” contentType=”text/html; charset=ISO-8859-1″
pageEncoding=”ISO-8859-1″%>
<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=ISO-8859-1″>
<title>Insert title here</title>
</head>
<body>

<%
org.springframework.beans.factory.BeanFactory beanFactory = (org.springframework.beans.factory.BeanFactory)
pageContext.getServletContext().
getAttribute(org.springframework.web.context.
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

com.corp.service.JMSSender jmsSender = (com.loanapp.service.JMSSender)beanFactory.getBean(“jmsSender”);

jmsSender.sendMessage(“Helloworld”);
%>
</body>
</html>

转载于http://www.ziki.cn/blog/archives/1182354149.html

原创文章,转载请注明: 转载自海波无痕

本文链接地址: weblogic8.13配置JMS的步骤

文章的脚注信息由WordPress的wp-posturl插件自动生成

此条目发表在javaee, weblogic分类目录,贴了, , , , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论链接可以 移除 nofollow.