当前位置: 首页 > news >正文

无锡企业建站系统广州品牌网站建设

无锡企业建站系统,广州品牌网站建设,互动型网站成功例子,怎么用ps做网站超链接Java EE 7最近已被执行委员会接受 。 这意味着我们很快将在市场上提供Java EE 7应用服务器。 构成Java EE 7的规范之一是JMS 2.0 。 自1.1版以来#xff0c;引入了一些有趣的改进。 JMS有很多怪异的东西#xff0c;例如#xff1a; Connection#xff03;createSession引入了一些有趣的改进。 JMS有很多怪异的东西例如 ConnectioncreateSessionboolean Transactedint acceptMode方法。 第一个方法参数 transacted 定义是否应处理会话。 Java EE应用程序具有负责事务处理的JTA。 我们可以选择是否支持交易默认。 那么为什么我们需要这个论点呢 第二个方法参数 acknowledgeMode 是一个从Session对象获取的整数常量 。 认真地说整数常量使该API看起来太过传统。 最后Java EE环境中这些参数的含义是什么 JavaDoc的说 acknowledgeMode如果会话事务被忽略。 这是什么意思 不外乎 这些参数对于Java EE上下文中使用的JMS生产者没有任何意义 。 这就是为什么他们鼓励您使用(true, 0)参数值以避免不必要的混淆的原因。 这闻起来有遗味。 好的让我们回到主要主题。 我想看一下JMS世界中的新功能以及它如何使我能够更轻松更可维护的方式进行编码。 我已经准备了一个使用JMS 2.0JAX-RS和EJBSLSB和MDB的简单Web应用程序并将其推送到这里的 github存储库中。 先决条件和基础架构 为了能够运行此代码您应该创建一个示例队列。 我已经在jms/queue/myqueue JNDI名称下配置了它。 我正在使用Glassfish v4 build 87 。 要使用Java EE 7 API我需要添加以下Maven依赖项 dependencygroupIdjavax/groupIdartifactIdjavaee-api/artifactIdversion7.0-b87/versionscopeprovided/scope /dependency 驻留在此存储库中 repositoryidJava EE 7/idurlhttps://maven.java.net/content/groups/promoted//url /repository 这就是配置的全部内容。 有效负载和REST配置 BusinessObject是一个简单的对象将充当我们的JMS消息的有效负载。 它将由生产者发送并由消费者接收。 这里没什么好想的所以让我们继续前进。 RESTConfiguration甚至更简单–它只是为我们的应用程序定义了JAX-RS端点前缀。 该前缀是“ / rest”。 您可以通过访问应用程序URL / rest / producer / jms11或/ rest / producer / jms20例如http://localhost:8080/jms2_0_spike/rest/producer/jms20 来调用生产者EJB。 JMS生产者 现在这里开始变得有趣。 在下面您可以找到SLSB JMS消息产生器的JMS 1.1代码 Stateless public class JMS11Producer {Resource(lookup jms/__defaultConnectionFactory)private ConnectionFactory connectionFactory;Resource(lookup jms/queue/myqueue)private Queue queue;Path(/jms11)GETpublic String produce() {String status OK;Connection connection null;try {connection connectionFactory.createConnection();Session session connection.createSession(true, 0);MessageProducer producer session.createProducer(queue);BusinessObject payload new BusinessObject(UUID.randomUUID().toString());ObjectMessage message session.createObjectMessage();message.setObject(payload);producer.send(message);} catch (JMSException e) {status e.getMessage();} finally {if (connection ! null) {try {connection.close();} catch (JMSException e) {status e.getMessage();}}}return status;} } 尽管JAX-RS结果状态出现问题但这是一个令人费解的样板代码模糊了方法的主要职责。 它应该只向队列发送一条消息但是它却做了很多事情。 它会创建一个连接会话包括讨厌的忽略的参数在内对象类型的消息将其初始化然后最终将消息发送到队列中……哦是的–当然不要忘记检查异常和嵌套的try / catch块。 我们可以尝试去优化它-通过创建连接移动到一些如PostConstruct方法和关闭以PreDestroy -但它仍然有很多unnecesary噪音。 现在让我们看一下功能上与JMS 2.0中表达的代码相同的代码 Stateless public class JMS20Producer {Resource(lookup jms/queue/myqueue)private Queue queue;Injectprivate JMSContext jmsContext;Path(/jms20)GETpublic String produce() {BusinessObject payload new BusinessObject(UUID.randomUUID().toString());jmsContext.createProducer().send(queue, payload);return OK;} } 很整洁吧 弄清楚此方法的作用要容易得多它创建有效负载并将其发送到队列。 就这样–这就是方法的全部内容。 异常处理连接和会话创建消息类型–一切都为我们完成。 如果可以将这些职责转移到容器上以减轻开发人员的生活负担那么为什么不这样做呢 让我们看一下此示例中使用的一些JMS 2.0功能 不需要ConnectionFactory 无需Connection或Session JMSContext是结合了Connection和Session功能的新对象。 它可以通过容器注入 没有检查的异常–仅JMSRuntimeException 用于消息生成的链调用使其更易于阅读。 JMS消费者 自JMS 1.1以来Message Consumer并未发生太大变化。 它仍然是MDB但是现在由于使用message.getBody(Clazz)进行消息投射更容易达到预期的有效负载 MessageDriven(mappedName jms/queue/myqueue) public class Consumer implements MessageListener {Overridepublic void onMessage(Message message) {try {// In JMS 1.1:// ObjectMessage objectMessage (ObjectMessage)message;// BusinessObject payload (BusinessObject)objectMessage.getObject();BusinessObject payload message.getBody(BusinessObject.class);System.out.println(Message received: payload);} catch (JMSException e) {System.err.println(Error while fetching message payload: e.getMessage());}} }结论 这只是对JMS 2.0的快速浏览。 但是我发现有趣的是与JMS 1.1相比可以产生多少更清晰的代码。 有关JMS 2.0的更多详细信息请查看其正式规范 。 参考来自Piotr Nowicki博客博客的JCG合作伙伴 Piotr Nowicki的Java EE 7带有Glassfish v4的JMS 2.0 。 翻译自: https://www.javacodegeeks.com/2013/05/java-ee-7-jms-2-0-with-glassfish-v4.html
http://www.pierceye.com/news/725549/

相关文章:

  • 宁夏网站备案青岛专业网站建设公司
  • 廊坊营销网站团队佛山市创意动力信息科技有限公司
  • 怎么学习做网站网络公司 网站建设
  • 网站权重怎么提升网站开发多线程开发
  • wordpress下拉列表沈阳网站排名优化
  • 非自己的网站如何做二次跳转免费建英文网站
  • 广州建筑集团网站企业大型网站开发网站模板设计
  • 漯河网站推广多少钱做调查网站的问卷哪个给的钱高
  • 局域网下怎么访问自己做的网站做网站时如何将前端连接到后台
  • 网页设计与网站建设考试名词解释长治县网站建设
  • 商务网站建设实训报告总结南京太阳宫网站建设
  • 网站建设合同缴纳印花税吗建设企业网站官网登录
  • 石家庄网站开发多少钱做网站和做程序一样吗
  • cpa项目怎么做必须有网站么百度快速收录3元一条
  • 建造网站 备案产品推广文案100字
  • 希腊网站后缀昆山网站推广
  • 企业网站模板seo个人网站制作成品图片
  • 政务网站群建设需求调研表网站优化方案基本流程
  • 那个网站做调查问卷能赚钱架设一个网站
  • 什么网站是免费的合肥网页设计工资一般多少
  • 学校网站建设招聘提高网站浏览量
  • 特色专业网站建设模板北京网站建设公司分享网站改版注意事项
  • 网站上做地图手机上显示不出来的seo长尾快速排名
  • 网站怎么进行网络推广技术支持 湖州网站建设
  • 旅游找什么网站好仿朋友圈网站建设
  • 设置wordpress首页显示文章摘要aso优化是什么意思
  • 乡镇门户网站建设的现状及发展对策深圳网站建设评价
  • 河南省洛阳市建设银行的网站网站获得流量最好的方法是什么 ( )
  • 西安网站制作托wordpress媒体页
  • 杜集网站建设php网站怎么样