- 浏览: 330952 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
di1984HIT:
谢谢,写的不错。
使用hector操作Cassandra -
mr_von:
非常感谢!
paoding的分词使用 -
howgoo:
http://www.dhtmlx.com/docs/prod ...
dhtmlxGrid分页与排序 -
青春的、脚步:
谢谢
spring-data-mongodb的MongoTemplate 使用小例子 -
青春的、脚步:
xiaofancn 写道青春的、脚步 写道这个能查询都个值在某 ...
spring-data-mongodb的MongoTemplate 使用小例子
参考 http://blog.csdn.net/liuzhenwen/article/details/3768766
注意:Entity中有个Transient标注的属性无法序列化到queue中,可以用一个DTO重新组装对象传送。
定我们的Queue文件adServerLog-service.xml
<?xml version="1.0" encoding="UTF-8"?> <server> <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=adServerQueue"> <attribute name="JNDIName">queue/adServerQueue</attribute> <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends> </mbean> </server>
applicationContext.xml的配置
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"> <!-- This will automatically locate any and all property files you have within your classpath, provided they fall under the META-INF/spring directory. The located property files are parsed and their values can then be used within application context files in the form of ${propertyKey}. --> <context:property-placeholder location="classpath*:META-INF/spring/*.properties" /> <context:spring-configured /> <context:component-scan base-package="com.mogenesis"> <context:exclude-filter expression="org.springframework.stereotype.Controller" type="annotation" /> </context:component-scan> <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource"> <property name="driverClassName" value="${database.driverClassName}" /> <property name="url" value="${database.url}" /> <property name="username" value="${database.username}" /> <property name="password" value="${database.password}" /> </bean> <bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" /> <bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory"> <property name="dataSource" ref="dataSource" /> <property name="persistenceXmlLocation" value="classpath*:/META-INF/persistence-spring.xml" /> <property name="loadTimeWeaver"> <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" /> </property> </bean> <!-- JMS configure --> <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"> <property name="environment"> <props> <prop key="java.naming.factory.initial"> org.jnp.interfaces.NamingContextFactory </prop> <prop key="java.naming.provider.url">localhost:1099</prop> <prop key="java.naming.factory.url.pkgs"> org.jnp.interfaces:org.jboss.naming </prop> </props> </property> </bean> <bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiTemplate"> <ref bean="jndiTemplate" /> </property> <property name="jndiName"> <value>XAConnectionFactory</value> </property> </bean> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate102"> <property name="connectionFactory" ref="jmsConnectionFactory" /> <property name="defaultDestination" ref="destination" /> <!-- true for Topic false for Queue --> <property name="pubSubDomain"> <value>false</value> </property> <!-- message waiting time(ms) --> <property name="receiveTimeout"> <value>30000</value> </property> </bean> <bean id="destination" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiTemplate"> <ref bean="jndiTemplate" /> </property> <property name="jndiName"> <value>queue/adServerQueue</value> </property> </bean> <!-- and this is the message listener container --> <bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="jmsConnectionFactory" /> <property name="destination" ref="destination" /> <!-- 监听队列的bean声明在注解之中 --> <property name="messageListener" ref="adServerJmsQueueListener" /> </bean> </beans>
服务端监听类AdServerJmsQueueListener.java
package com.mogenesis.mobileadplatform.adserver.log; import javax.annotation.Resource; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.ObjectMessage; import org.springframework.jms.core.JmsTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.mogenesis.mobileadplatform.domain.AdRequest; import com.mogenesis.mobileadplatform.service.adserver.AdMetricsService; @Service("adServerJmsQueueListener") public class AdServerJmsQueueListener implements MessageListener { @Resource private JmsTemplate jmsTemplate; @Resource private AdMetricsService adMetricsService; public void onMessage(Message message) { ObjectMessage objMessage = (ObjectMessage) message; try { AdRequest adRequest = (AdRequest) objMessage.getObject(); adMetricsService.processAdMetrics(adRequest); } catch (JMSException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
客户端操作类AdServerJmsQueueSender.java
package com.mogenesis.mobileadplatform.adserver.log; import javax.annotation.Resource; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.ObjectMessage; import javax.jms.Session; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessageCreator; import org.springframework.stereotype.Component; import com.mogenesis.mobileadplatform.domain.AdRequest; @Component public class AdServerJmsQueueSender { @Resource private JmsTemplate jmsTemplate; public void sendMessage(final AdRequest adRequest) { jmsTemplate.send(new MessageCreator() { public Message createMessage(Session session) throws JMSException { ObjectMessage objMessage = session.createObjectMessage(); objMessage.setObject(adRequest); return objMessage; } }); } }
在我们需要的组件类中添加
@Resource private AdServerJmsQueueSender adServerJmsQueueSender;
就可以使用了。
其中项目jms.jar包和jboss的jms.jar包冲突,所以我把项目中pom.xml文件为,编译的时候使用,次jar包部署的时候不用打包进项目
<dependency> <groupId>jms</groupId> <artifactId>jms</artifactId> <version>1.1</version> <scope>provided</scope> </dependency>
发表评论
-
spring cloud gateway 全局过滤器。
2019-03-17 23:11 527spring cloud gateway 网关 ... -
elasticsearch 5.4搜索
2017-05-19 08:37 148@Test public void t ... -
netty简单的操作memcached
2017-04-19 18:59 976pom文件 <dependency> ... -
juc系列-Executor框架
2017-03-20 13:34 699转自 juc系列-Executor框架 什 ... -
ReentrantLock 类
2017-03-19 21:11 11.1 什么是reentrantlock java.u ... -
juc之CountDownLatch、CyclicBarrier和Semaphore例子
2017-03-19 17:23 833import java.util.concurren ... -
netty客户端与服务端例子
2017-03-12 20:07 2799package com.snailteam.nett ... -
freemaker集成spring
2017-02-26 19:00 567<bean id="freeMark ... -
spring集成Hessian插件配置改成自动注入。
2017-02-10 15:39 834原来的配置 <bean name="/ ... -
web开发模版
2017-02-09 14:42 0# Rules reminder: # DEBUG &l ... -
Java多线程
2017-02-04 14:39 515线程状态图 新建状态(New): ... -
hash冲突解决
2017-01-23 18:30 4541、开放地址法有一个公式: m是hash表长度,di ... -
mybatis +spring 分库
2015-04-30 17:56 353<context:component-scan b ... -
Java并发任务处理例子
2014-02-12 16:06 1125public void init() { su ... -
JAVA动态代理模式
2012-10-03 01:01 1183这是我要实现的效果 public static ... -
paoding的分词使用
2012-06-13 21:30 4865paoding下载 http://code.googl ... -
使用spring-hadoop操作hadoop
2012-05-20 02:12 32参考文章 http://blog.springsource. ... -
solr3.5集成paoding和位置搜索及对solrj的使用。
2012-04-28 02:12 1978http://xiaofancn.iteye.com/blog ... -
日期处理DateUtils
2012-03-24 09:47 4811import java.text.SimpleDateF ... -
Cassandra的数据分布情况测试
2012-03-16 15:09 20331、规划种子节点ip和Token值的对应 4个种子 ...
相关推荐
JBoss 5.1 是一个基于 Java 的应用服务器,提供了高度可扩展性和高可用性,支持集群部署。集群操作能够使多个 JBoss 实例协同工作,以提高应用程序的性能和容错能力。Apache 2.2.4 是一个常用的开源 Web 服务器,它...
JBOSS5.1安装配置说明 JBOSS 是一个基于 Java 的开源应用服务器,可以运行在 Windows、Linux、Unix 等多种操作系统平台上。...通过按照上述步骤进行操作,我们可以成功地安装和配置 JBOSS 5.1 在 Windows 平台下。
在这里,它被用来创建、编辑和管理EJB项目,提供了诸如代码提示、调试和集成构建等功能,使得EJB的开发过程更加高效和便捷。 【JBoss 5.1】是一个基于Java EE 5规范的开源应用服务器,它为EJB提供了运行环境。EJB...
总之,ejb3.0 + jboss4.2 的实例开发涵盖了从环境准备、代码编写、bean 创建、打包到部署的全过程,是学习 EJB 3.0 和 JBoss 集成应用的基础步骤。通过这样的实践,开发者能够更好地理解和掌握企业级 Java 应用的...
你将找到一个完整的示例,涵盖了上述所有步骤,包括具体的代码片段和执行过程,这对于初学者来说是一个很好的起点,可以快速理解并实践EJB 3.0在JBOSS和MyEclipse环境下的开发流程。通过这个初体验,你可以了解到...
理解EJB 3.0和JBoss的配置运行过程对Java EE开发者至关重要,因为这涉及到企业级应用的开发、部署和管理。掌握这一技能可以帮助开发者更好地利用Java EE平台提供的强大功能,构建高效、可扩展的后端系统。
Spring MVC 4.2 和 MyBatis 3.0 是两个非常重要的Java Web开发框架,它们经常被一起使用来构建高效、灵活的企业级应用程序。在本项目中,这两个框架与JBoss应用服务器相结合,提供了完整的后端解决方案。下面将详细...
除了加入jboss-web.xml,删除xerces-2.6.2.jar和xml-apis.jar之外, <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd"> <jboss-web> <...
JBoss AS 提供了运行企业级Java应用程序所需的基础设施,如安全、事务管理、集群和JMS(Java Message Service)等。 在标题中提到的“集群”是指通过多台服务器来分发负载,提高系统的可用性和可伸缩性。在Java EE...
在本项目中,我们主要探讨的是一个基于Servlet 3.0、JBoss 7应用服务器、JSP(JavaServer Pages)、MySQL 5.0数据库以及IntelliJ IDEA 13集成开发环境的登录注册系统。这个系统包含了完整的CSS样式,确保了用户界面...
【JBoss JMS包详解】 JBoss JMS(Java Message Service)是Red Hat公司开发的JMS实现,它是JBoss Application Server的一...了解和熟练掌握JMS以及其在JBoss环境中的使用,对于提升企业级应用的稳定性和效率至关重要。
4. **安全管理**:JBoss Web 3.0.0可能包括了增强的安全特性,如JAAS(Java Authentication and Authorization Service)集成,提供用户认证和授权功能,以保护Web应用程序免受未经授权的访问。 5. **性能优化**:...
总结来说,JBOSS中的JMS应用实例涉及了JMS的基本概念、JBOSST的配置、代码编写以及具体的应用场景。通过实践这些步骤,开发者可以掌握如何在JBOSST环境中利用JMS进行高效的数据通信。同时,提供的文档和项目文件为...
EJB3.0允许在不同应用服务器上运行,如JBoss的Hibernate实现和Oracle的TopLink实现。即使EJB3.0规范尚未最终确定,开发者仍可以通过嵌入式EJB3.0产品获得支持。 - 相反,Spring是一个非标准的开源解决方案,使用...
本示例"spring3.0+struts2.0+mybatis3.2+jta+xapool配置文件"就是一个典型的Java企业级应用的集成框架,用于实现数据持久层、业务逻辑层以及控制层的整合。以下将详细介绍这些组件及其配置要点。 **Spring 3.0** 是...
在JBOSS应用服务器上集成Spring和EJB3.0可以充分利用这两种技术的优势。Spring可以简化EJB3.0组件的配置和管理,同时保持良好的扩展性和可维护性。 - **2.4.2 在JBOSS Application Server 7上的安装** 在JBOSS ...
本指南旨在介绍如何将JBoss JBPM与Spring框架集成,以便更好地管理和自动化业务流程。 #### 二、工作流管理系统的概念 **工作流(Workflow)**: 工作流是指业务过程中的文档、信息或任务按照预定义的规则在参与者...