最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring整合Weblogic jms實(shí)例詳解

 更新時(shí)間:2019年10月30日 10:58:48   作者:詠吟  
這篇文章主要介紹了Spring整合Weblogic jms實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

本文主要介紹weblogic jms的配置,包括JMS 服務(wù)器和JMS 模塊(連接工廠、隊(duì)列、遠(yuǎn)程 SAF 上下文、SAF 導(dǎo)入目的地、SAF 錯(cuò)誤處理)的配置;并在Spring環(huán)境下進(jìn)行消息的監(jiān)聽(tīng)及發(fā)送;為了更多的使用webloigc jms的功能,發(fā)送的隊(duì)列使用saf配置的遠(yuǎn)程weblogic jms隊(duì)列(兩邊的weblogic版本須一致),當(dāng)然本地也是可以的。本文中demo所使用的軟件環(huán)境為:weblogic 10.3.6.0、spring5.1.2.RELEASE

注:saf配置的遠(yuǎn)程隊(duì)列只能發(fā)送消息,不能監(jiān)聽(tīng)消息。

1、weblogic jms配置

1.1、配置JMS 服務(wù)器

注:需配置持久性存儲(chǔ),沒(méi)有就創(chuàng)建一個(gè)

1.2、配置JMS 模塊

下面的功能都是在JMS 模塊中配置;連接工廠、隊(duì)列、遠(yuǎn)程 SAF 上下文、SAF 導(dǎo)入目的地、SAF 錯(cuò)誤處理

這里就不一一截圖配置過(guò)程了,按頁(yè)面提示配置就行;配置結(jié)果如下

連接工廠需設(shè)置jndi,程序里會(huì)用到

SAF 遠(yuǎn)程上下文配置的遠(yuǎn)程地址及用戶名密碼信息

SAF 導(dǎo)入目的地配置的遠(yuǎn)程的隊(duì)列消息及對(duì)應(yīng)到本地的jndi

SAF 錯(cuò)誤處理程序配置錯(cuò)誤處理策略屬性,選配

隊(duì)列需設(shè)置jndi,程序里會(huì)用到

SAF 導(dǎo)入目的地配置的隊(duì)列消息如下:

點(diǎn)擊隊(duì)列名稱:

本地 JNDI 名稱程序里會(huì)用到,向該jndi發(fā)送消息實(shí)際會(huì)發(fā)送到遠(yuǎn)程的隊(duì)列里。

2、spring配置

增加applicationContext-jms.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
  xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:security="http://www.springframework.org/schema/security"
  xmlns:task="http://www.springframework.org/schema/task"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-4.3.xsd
            http://www.springframework.org/schema/security
            http://www.springframework.org/schema/security/spring-security-4.3.xsd
            http://www.springframework.org/schema/task
            http://www.springframework.org/schema/task/spring-task-4.3.xsd">

  <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://10.39.196.10:7001</prop>
        <prop key="java.naming.security.principal">weblogic</prop>
        <prop key="java.naming.security.credentials">weblogic1</prop>
      </props>
    </property>
  </bean>
  <bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jndiTemplate" />
    <property name="proxyInterface" value="javax.jms.ConnectionFactory" />
    <property name="jndiName" value="ConnectionFactory-test" />
  </bean>
  <bean id="testQueueSend" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="testQueueSend" />
    <property name="jndiTemplate" ref="jndiTemplate" />
  </bean>
  <bean id="testQueueReceive" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="testQueue" />
    <property name="jndiTemplate" ref="jndiTemplate" />
  </bean>
  <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
  </bean>

  <bean id="sender" class="com.inspur.demo.jms.Sender">
  </bean>
  <task:scheduled-tasks>
    <task:scheduled ref="sender" method="hello" cron="0/5 * * * * ?" />
  </task:scheduled-tasks>
  <bean id="receiver" class="com.inspur.demo.jms.Receiver">
  </bean>
  <bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
    <property name="destination" ref="testQueueReceive" />
    <property name="messageListener" ref="receiver" />
    <property name="autoStartup" value="true" />
  </bean>
</beans>

jndiTemplate配置weblogic的連接信息

jmsConnectionFactory配置連接工廠

testQueueSend向該隊(duì)列發(fā)送消息,對(duì)應(yīng)上面saf遠(yuǎn)程目的地里隊(duì)列的本地jndi名稱,

testQueueReceive對(duì)該隊(duì)列進(jìn)行監(jiān)聽(tīng),接受消息

jmsTemplate配置jms的模板

sender發(fā)送消息的類,把該類配置為定時(shí)任務(wù),定時(shí)發(fā)送消息;

receiver監(jiān)聽(tīng)的類

listenerContainer監(jiān)聽(tīng)容器

3、類信息

發(fā)送者:

package com.inspur.demo.jms;

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

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;

public class Sender {
  protected static Logger logger = LoggerFactory.getLogger(Sender.class);
  
  //發(fā)送消息的隊(duì)列
  @Autowired
  @Qualifier("testQueueSend")
  private Destination destination;
  
  @Autowired
  private JmsTemplate jmsTemplate;
  
  public void hello() {
    String message = System.currentTimeMillis() + "-hello";
    logger.info("Message Send:{}", message);
    jmsTemplate.send(destination, new MessageCreator() {
      @Override
      public Message createMessage(Session session) throws JMSException {
        return session.createTextMessage(message);
      }
    });
  }
}

使用JmsTemplate來(lái)發(fā)送消息。

接受者:

package com.inspur.demo.jms;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Receiver implements MessageListener {
  protected static Logger logger = LoggerFactory.getLogger(Receiver.class);
  
  @Override
  public void onMessage(Message message) {
    try {
      String text = "";  
      if (message instanceof TextMessage) {  
        text = ((TextMessage) message).getText();  
      } 
      logger.info("Message received:{}", text);
    } catch (JMSException e) {
      e.printStackTrace();
    }
  }
}

4、測(cè)試

1.發(fā)送消息

啟動(dòng)程序后,每隔5秒中會(huì)往testQueueSend隊(duì)列(遠(yuǎn)程隊(duì)列)中發(fā)送一條消息,可到weblogic控制臺(tái)查看消息.

2.接受消息

在weblogic控制臺(tái)手工往testQueueReceive隊(duì)列插入一條消息,程序日志會(huì)打印該消息內(nèi)容。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot處理JSON數(shù)據(jù)方法詳解

    SpringBoot處理JSON數(shù)據(jù)方法詳解

    這篇文章主要介紹了SpringBoot整合Web開(kāi)發(fā)中Json數(shù)據(jù)處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-10-10
  • Spring Boot 日志概念及使用詳解

    Spring Boot 日志概念及使用詳解

    文章介紹了日志的重要性、日志格式、日志使用方法、日志級(jí)別、日志配置、日志持久化以及使用Lombok簡(jiǎn)化日志輸出,感興趣的朋友一起看看吧
    2025-03-03
  • 解決IDEA2020.2插件lombok報(bào)錯(cuò)問(wèn)題(親測(cè)有效)

    解決IDEA2020.2插件lombok報(bào)錯(cuò)問(wèn)題(親測(cè)有效)

    這篇文章主要介紹了解決IDEA2020.2插件lombok報(bào)錯(cuò)問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • Java?項(xiàng)目中使用遞歸的小結(jié)

    Java?項(xiàng)目中使用遞歸的小結(jié)

    在 Java 中,遞歸是指在方法的定義中調(diào)用自身的過(guò)程,遞歸是基于方法調(diào)用棧的原理實(shí)現(xiàn)的:當(dāng)一個(gè)方法被調(diào)用時(shí),會(huì)在調(diào)用棧中創(chuàng)建一個(gè)對(duì)應(yīng)的棧幀,包含方法的參數(shù)、局部變量和返回地址等信息,這篇文章主要介紹了Java?項(xiàng)目中對(duì)使用遞歸的理解分享,需要的朋友可以參考下
    2024-07-07
  • java 實(shí)現(xiàn)線程同步的方式有哪些

    java 實(shí)現(xiàn)線程同步的方式有哪些

    當(dāng)使用多個(gè)線程來(lái)訪問(wèn)同一個(gè)數(shù)據(jù)時(shí),非常容易出現(xiàn)線程安全問(wèn)題,所以我們用同步機(jī)制來(lái)解決這些問(wèn)題,本文將詳細(xì)介紹,需要的朋友可以參考下
    2012-11-11
  • Apache?Commons?Imaging處理圖像實(shí)例深究

    Apache?Commons?Imaging處理圖像實(shí)例深究

    這篇文章主要為大家介紹了Apache?Commons?Imaging處理圖像的實(shí)例探索深究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • springboot+element-ui實(shí)現(xiàn)多文件一次上傳功能

    springboot+element-ui實(shí)現(xiàn)多文件一次上傳功能

    這篇文章主要介紹了springboot+element-ui多文件一次上傳功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • SpringBoot自動(dòng)配置原理及案例源碼解析

    SpringBoot自動(dòng)配置原理及案例源碼解析

    這篇文章主要為大家介紹了SpringBoot自動(dòng)配置原理及自動(dòng)配置案例源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java中的PreparedStatement對(duì)象使用解析

    Java中的PreparedStatement對(duì)象使用解析

    這篇文章主要介紹了Java中的PreparedStatement對(duì)象使用解析,PreparedStatement對(duì)象采用了預(yù)編譯的方法,會(huì)對(duì)傳入的參數(shù)進(jìn)行強(qiáng)制類型檢查和安全檢查,進(jìn)而避免了SQL注入的產(chǎn)生,使得操作更加安全,需要的朋友可以參考下
    2023-12-12
  • Springboot內(nèi)置的工具類之CollectionUtils示例講解

    Springboot內(nèi)置的工具類之CollectionUtils示例講解

    這篇文章主要介紹了Springboot內(nèi)置的工具類之CollectionUtils,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

久治县| 星子县| 双城市| 毕节市| 和田县| 苏州市| 衡阳市| 玉溪市| 黄冈市| 西林县| 湟源县| 西乌珠穆沁旗| 余姚市| 正镶白旗| 孝义市| 玛曲县| 札达县| 偃师市| 濮阳市| 成武县| 郯城县| 沁阳市| 广平县| 恩施市| 吉安县| 徐州市| 天镇县| 桐柏县| 桐庐县| 禄丰县| 阳泉市| 济南市| 革吉县| 临江市| 洪湖市| 汪清县| 雷波县| 门头沟区| 孟津县| 丰都县| 和静县|