• 网络资源(6)


    2014_08_24

    http://v.youku.com/v_show/id_XMjE0NjE3MDA0.html?f=5227828

    01_EJB3.0_下载安装与运行jboss

    -------------------------------------------------------------------------------

    http://v.youku.com/v_show/id_XMjE0NjE3NzM2.html?f=5227828&o=0

    11_EJB3.0_开发消息驱动bean

    1. 配置目标地址

    创建***-service.xml,发布到jboss中,xml会被发布为jms服务。有两种类型:queue以及topic,分别对应点对点模式和发布/订阅模式。

    <?xml version="1.0" encoding="UTF-8"?>
    <server>
      <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=foshanshop">
        <attribute name="JNDIName">queue/foshanshop</attribute>  
        <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
      </mbean>
    </server>

    2. 在java类中发送消息

    (1) 得到一个JNDI初始化上下文(Context)

      InitialContext ctx = new InitialContext();

    (2) 根据上下文查找一个连接工厂 QueueConnectionFactory 。该连接工厂是由JMS提供的,不需我们自己创建,每个厂商都为它绑定了一个全局JNDI,我们通过它的全局JNDI便可获取它;

      QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("QueueConnectionFactory");

    (3) 从连接工厂得到一个连接 QueueConnection

      conn = factory.createQueueConnection();

    (4) 通过连接来建立一个会话(Session);

      session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);

      这句代码意思是:建立不需要事务的并且能自动确认消息已接收的会话。

    (5) 查找目标地址:

      例子对应代码:Destination destination = (Destination ) ctx.lookup("queue/foshanshop");

    (6) 根据会话以及目标地址来建立消息生产者MessageProducer (QueueSender和TopicPublisher都扩展自MessageProducer接口)

    例子对应代码:

    MessageProducer producer = session.createProducer(destination);

    TextMessage msg = session.createTextMessage("您好,这是我的第一个消息驱动Bean");

    producer.send(msg);

    3. 采用消息驱动Bean (Message Driven Bean)接收消息

    一个MDB通常要实现MessageListener接口,该接口定义了onMessage()方法。Bean通过它来处理收到的JMS消息。消息驱动bean通过注解,定义要监听的queue和topic。

    package javax.jms;

    @MessageDriven(activationConfig =

    {

      @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),

      @ActivationConfigProperty(propertyName="destination", propertyValue="queue/foshanshop"),

      @ActivationConfigProperty(propertyName="acknowledgeMode", propertyValue="Auto-acknowledge")

    })

    public interface MessageListener {

        public void onMessage(Message message);

    }

    --------------------------------------------------------------------------------

    2014_08_25

    http://v.youku.com/v_show/id_XMjE0NjE3NDQ4.html?f=5227828&o=0

    07_EJB3.0_开发有状态bean

    无状态bean通过实例池技术管理bean;有状态bean通过钝化和激活技术管理bean。

    --------------------------------------------------------------------------------

    2014_08_29

    http://v.youku.com/v_show/id_XMjE0NjE3NTc2.html?f=5227828&o=0

    09_EJB3.0_配置jboss数据源

    首先将数据库驱动拷贝到要配置目录的lib下,然后将mysql-ds.xml(以-ds.xml结尾的文件,可以来源于jboss自带的模板)文件拷贝到deploy目录下,即发布成功。需要重新启动jboss.

    -------------------------------------------------------------------------------

    http://i.youku.com/u/UMzA4NzkxMTM2/playlists

    SSH专辑(V512)

  • 相关阅读:
    java&nbsp;split
    百度知道
    2014年10月27日
    2014年10月27日
    mybatis批量update,返回行数为-1
    mybatis批量插入:oracle和mysql的区别
    oracle数据库,mybatis批量insert,缺失values字段
    java后台接收json数据,报错com.alibaba.fastjson.JSONObject cannot be cast to xxx
    C++——运算符重载(上)
    C++——友元
  • 原文地址:https://www.cnblogs.com/thlzhf/p/3933430.html
Copyright © 2020-2023  润新知