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

张槎网站建设制作做视频点播网站如何赚钱

张槎网站建设制作,做视频点播网站如何赚钱,巴彦淖尔网站制作,wordpress 精简优化Java Message Service是java ee的规范之一#xff0c;可以用来发送异步消息#xff0c;在某些场景下#xff0c;可以作为不同系统#xff0c;或者不同模块之间的集成方式。 可以类比为通过数据库来集成的方式#xff0c;模块A完成逻辑以后#xff0c;往数据库插…        Java Message Service是java ee的规范之一可以用来发送异步消息在某些场景下可以作为不同系统或者不同模块之间的集成方式。          可以类比为通过数据库来集成的方式模块A完成逻辑以后往数据库插入一条记录模块B定时轮询数据库如果查到相应的记录就进行处理。jms集成实际上思路是差不多的只是功能更强并且提供了标准的API支持而且也可以避免反复轮询数据库或者读取文件的I/O操作对系统的整体性能会有提升。 其主要优点首先是可以使2个系统或模块实现松耦合模块A不需要直接调用模块B只需要往jms provider上发送一条约定格式的消息模块B收到这条消息进行后续的业务处理 。其次jms方式是异步的意味着模块A发送消息之后不需要等待模块B或者jms provider的响应自身的业务逻辑可以继续。          jms技术对应的规范是jsr914规范的实现称为jms provider常见的实现有ActiveMQ、JBoss MQ、IBM Websphere MQ等。本文以ActiveMQ举例 。 一、ActiveMQ使用  ActiveMQ其他的jms provider也差不多安装之后目录结构是这样的             运行bin目录下的activemq.bat会根据默认配置启动一个broker。各种jms实现都有broker的概念。          启动之后会占用至少2个端口默认的是61616和8161 。61616是等待jms client的连接8161是ActiveMQ自带的一个web应用 。         http://localhost:8161/demo可以看到各种官方提供的例子 http://localhost:8161/admin是ActiveMQ的管理控制台。            这里可以对队列进行各种操作比如发送消息查看消息清空队列等等 。         ActiveMQ即使在不编程的情况下也可以通过这种方式来使用包括我之前的公司是用Websphere MQ有时也不编程直接通过Websphere MQ在两地进行消息传输。当然大部分情况还是需要针对jms client进行编程的 。 二、jms基本概念  前面说过jms的实现称为jms provider可以认为是jms的服务器 。          jms的客户端需要开发人员自行开发称为jms client 。          jms的消息机制有2种模型一种是Point to Point表现为队列的形式。发送的消息只能被一个接收者取走 。另一种是Topic可以被多个订阅者订阅类似于群发。    ConnectionFactory用于jms client获取与jms provider的连接。不同的jms产品对这个接口有不同的实现比如说ActiveMQ这个接口的实现类是ActiveMQConnectionFactory  Connection是由ConnectionFactory产生的表示jms client与jms provider的连接  Session是由Connection产生的表示一个会话。Session是关键组件Message、Producer/Consumer、Destination都是在Session上创建的  Message这个组件很好理解就是传输的消息里面包括head、properties、body其中head是必选的  Destination是消息源对发送者来说就是消息发到哪里对接收者来说就是从哪里取消息。Destination有2个子接口Queue和Topic分别对应上面提到的2种模型  Message Producer是消息发送者创建这个组件的代码类似  Java代码   Destination dest  session.createQueue(dotaQueue);// 消息目的地      MessageProducer producer  session.createProducer(dest);// 消息发送者   可以注意到这里需要把Destination作为参数传入createProducer()方法这说明消息发送者是绑定到Destination上的这个发送者发送的消息会发送到这个绑定的Destination上 。         Message Consumer是消息接收者和Message Producer是相反的一种组件。  三、代码实例  这里是基于ActiveMQ进行开发所以需要导入ActiveMQ提供的jar包。不过开发时应该尽量针对jms接口进行开发不依赖特定的实现。          例子是用main函数跑的没有在java ee容器里跑所以没有办法依赖JNDI拿到ConnectionFactory的实例只能手工创建ActiveMQConnectionFactory所以和ActiveMQ的实现耦合了没有办法连到别的jms实现上。如果实际的代码用JNDI或者spring来获取ConnectionFactory的实例的话那就可以仅针对接口编程连接到任意jms provider了。           为了简单起见例子也没有用到spring实际上spring对jms client提供了很好的支持在后面再介绍。          开发环境只要导入activemq-all-5.6.0.jar就可以了 。   里面已经包括了jms API、activemq-core、javaee-management API等必须的class  首先是Message Producer的例子  Java代码   public class Main {          public static void main(String[] args) throws JMSException {              String jmsProviderAddress  tcp://localhost:61616;// 地址              ConnectionFactory connectionFactory  new ActiveMQConnectionFactory(                   jmsProviderAddress);// 连接器              Connection connection  connectionFactory.createConnection();// 创建连接              Session session  connection.createSession(false,                   Session.AUTO_ACKNOWLEDGE);// 打开会话              Destination dest  session.createQueue(demoQueue);// 消息目的地              MessageProducer producer  session.createProducer(dest);// 消息发送者              Message message  session.createTextMessage(hello world);// 消息              producer.send(message);// 发送              producer.close();// 关闭           session.close();           connection.close();          }      }   代码很简单可以参考上面的图各组件的关系是比较清楚的  然后是Message Consumer的例子  Java代码   public static void main(String[] args) throws JMSException {              String jmsProviderAddress  tcp://localhost:61616;// 地址              ConnectionFactory connectionFactory  new ActiveMQConnectionFactory(                   jmsProviderAddress);// 连接器              Connection connection  connectionFactory.createConnection();// 创建连接              Session session  connection.createSession(false,                   Session.AUTO_ACKNOWLEDGE);// 打开会话              String destinationName  demoQueue;              Destination dest  session.createQueue(destinationName);// 消息目的地              MessageConsumer consumer  session.createConsumer(dest);              connection.start();              Message message  consumer.receive();              TextMessage textMessage  (TextMessage) message;              String text  textMessage.getText();              System.out.println(从ActiveMQ取回一条消息:   text);              consumer.close();           session.close();           connection.close();          }   和MessageProducer的代码基本类似实际中一般会实现javax.jms.MessageListener接口这样就不需要手工调用receive()方法。 如下代码所示 // Connection JMS 客户端到JMS Provider 的连接final Connection connection connectionFactory.createConnection();connection.start();// Session 一个发送或接收消息的线程final Session session connection.createSession(true, Session.AUTO_ACKNOWLEDGE);// Destination 消息的目的地;消息送谁那获取.Destination destination session.createQueue(demoQueue);// 消费者消息接收者MessageConsumer consumer1 session.createConsumer(destination);consumer1.setMessageListener(new MessageListener() {Overridepublic void onMessage(Message msg) {try {TextMessage message (TextMessage)msg ;System.out.println(consumer1收到消息 message.getText());session.commit();} catch (JMSException e) { e.printStackTrace();}}});// 再来一个消费者消息接收者MessageConsumer consumer2 session.createConsumer(destination);consumer2.setMessageListener(new MessageListener() {Overridepublic void onMessage(Message msg) {try {TextMessage message (TextMessage)msg ;System.out.println(consumer2收到消息 message.getText());session.commit();} catch (JMSException e) { e.printStackTrace();}}});}
http://www.tj-hxxt.cn/news/134912.html

相关文章:

  • html怎么做查询网站青柠视频免费观看高清视频
  • 做网站用哪个编程语言重庆市建设工程信息网 安全监督
  • 喊别人做的网站不肯给代码抖音开放平台注册
  • 长沙企业建站在线咨询wordpress 链接本地化
  • 网站seo优化合同wordpress主题怎么编辑
  • 网站备案名称规定企业案例网站生成
  • 胶南做网站如何用php做电商网站
  • 个人网站备案名称举例网站如何生成静态
  • 网站设计计费怎样建设直播网站
  • 网站域名空间费用学网站开发要下载哪些软件
  • 桂林网站制作公司华彩wordpress设定密码
  • html教学网站discuz社区动力
  • ps如何做网站首页域名注册新网
  • 滕王阁环境建设网站电子商务网站安全措施
  • 微信网站如何制作软件现货交易平台排名
  • 嘿客免费网站建设北京网站优化排名推广
  • 沛县网站建设企业桂林两江四湖在哪里
  • 西宁网站建设优化凡客诚品vancl官方旗舰店
  • 广州市天河区工程建设监督网站wordpress图片主题 瀑布流经典
  • 做网站多少分辨率就可以建设个人网站赚钱
  • 网站技术培训学校上海哪里做网站好
  • 太平洋在线企业建站系统教育机构代理平台
  • 公司网站服务器租用应用市场下载安装app
  • 网站设计过程手机模块网站
  • 做网站推广的工作好吗扬州、常州、扬州、泰州
  • 菏泽做公司简介网站开发网站公司交税
  • wordpress门户网站wordpress如何上传视频
  • 建设公司网站的会计分录微信支付服务商平台
  • 贵阳网站建设企业广西住房和城乡建设厅网站主页
  • 做任务的兼职网站成都网站建设木木科技