beanRefContext.xml

news/2024/7/6 0:28:14 标签: ejb, string, spring, bean, null, encoding

spring配置打包写好
书写beanRefContext.xml
demo
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-autowire="no" default-lazy-init="false"
    default-dependency-check="none">

    <bean id="businessBeanFactory"
        class="org.springframework.context.support.ClassPathXmlApplicationContext">
        <constructor-arg>
            <list>
                <value>applicationContext-datasource.xml</value>
                <value>applicationContext-hibernate.xml</value>
                <value>applicationContext-service.xml</value>
                <value>applicationContext-xstream.xml</value>
            </list>
        </constructor-arg>
    </bean>
   
    <bean id="ear.context"
        class="org.springframework.context.support.ClassPathXmlApplicationContext">
        <constructor-arg>
            <list>
                <value>applicationContext-quartz.xml</value>
                <value>applicationContext-ibmmq-client.xml</value>
                <value>applicationContext-jms-client.xml</value>
                <value>applicationContext-xstream.xml</value>
                <value>applicationContext-mail.xml</value>
            </list>
        </constructor-arg>
    </bean>
   
</beans>

此jar包命名为 service.jar包,service.jar包位于ear包中并确保ejbejb.manifest.classpath中存在
businessBeanFactory 提供给ejb
springejb支持的类中

    public void setMessageDrivenContext(
            MessageDrivenContext messageDrivenContext) {
        super.setMessageDrivenContext(messageDrivenContext);
        String locatorFactorySelector = null;
        String beanFactoryLocatorKey = null;
        try {
            locatorFactorySelector = (String) new JndiTemplate()
                    .lookup("java:comp/env/locatorFactorySelector");
        } catch (NamingException e) {
            e.printStackTrace();
        }

        setBeanFactoryLocator(locatorFactorySelector != null ? ContextSingletonBeanFactoryLocator
                .getInstance(locatorFactorySelector)
                : ContextSingletonBeanFactoryLocator.getInstance());// 指定默认的beanRefContext.xml

        try {
            beanFactoryLocatorKey = (String) new JndiTemplate()
                    .lookup("java:comp/env/beanFactoryLocatorKey");
        } catch (NamingException e) {
            e.printStackTrace();
        }
        setBeanFactoryLocatorKey(beanFactoryLocatorKey != null ? beanFactoryLocatorKey
                : "businessBeanFactory");
    }


ejb配置

<description>ejb</description>
   <display-name>ejb</display-name>
      <enterprise-beans>
       <message-driven id="MessageDriven_1">
         <description>yourEJB</description>
         <display-name>Name for
yourEJB
</display-name>
         <ejb-name>yourEJB</ejb-name>
         <ejb-class>com.corp.YourEJB</ejb-class>
         <transaction-type>Bean</transaction-type>        
         <message-driven-destination>
            <destination-type>javax.jms.Queue</destination-type>
         </message-driven-destination>
     <env-entry>
          <env-entry-name>locatorFactorySelector</env-entry-name>
          <env-entry-type>java.lang.String</env-entry-type>
          <env-entry-value>classpath*:beanRefContext.xml</env-entry-value>
      </env-entry>
      <env-entry>
          <env-entry-name>beanFactoryLocatorKey</env-entry-name>
          <env-entry-type>java.lang.String</env-entry-type>
          <env-entry-value>businessBeanFactory</env-entry-value>
      </env-entry>
      </message-driven>
    </enterprise-beans>
   
    <assembly-descriptor id="AssemblyDescriptor_1">
       </assembly-descriptor>
</ejb-jar>  

//传入参数指定加载的bean工厂的名字

ear.context 提供给web

service.jar必须存在web的lib下或者在
manifest.classpath
ejb中这样加载
<context-param>
    <param-name>locatorFactorySelector</param-name>
    <param-value>classpath*:beanRefContext.xml</param-value>
</context-param>
<context-param>
        <param-name>parentContextKey</param-name>
        <param-value>ear.context</param-value>
</context-param>
<!-- 但我不知道再加载另外的配置能否跟其融和在一起?
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext-blank.xml</param-value>
</context-param>
-->

<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>


http://www.niftyadmin.cn/n/1050064.html

相关文章

C++ 的背影           --C++之父Bjarne Stroustrup印象

热爱C的朋友请不要误会&#xff0c;我并不是在暗示“C已经日薄西山”&#xff0c;或者任何类似的意思。从语义上来说&#xff0c;C作为一门编程语言&#xff0c;当然不会有什么背影。事实上&#xff0c;我想说的是一个人的背影。因此这个题目显得有点突兀&#xff0c;甚至哗众取…

DDoS入门

DDoS简介“拒绝服务&#xff08;Denial-Of-Service&#xff09;***就是消耗目标主机或者网络的资源&#xff0c;从而干扰或者瘫痪其为合法用户提供的服务。”国际权威机构“SecurityFAQ”给出的定义。DDOS则是利用多台计算机机&#xff0c;采用了分布式对单个或者多个目标同时发…

jquery库说明

jquery-1.3.2通常称作标准版 jquery-1.3.2-vsdoc是供VS 2008的智能提示所使用的&#xff0c;称作文档版&#xff0c; Visual Studio 2008初始并不支持JQuery框架的智能提示&#xff0c;需要2个补丁文件&#xff1a; Visual Studio 2008 SP1 补丁 VS90SP1-KB958502 补丁 …

prometheus-operator 详细总结(helm一键安装)

一、介绍prometheus-operator 二、查看配置rbac授权 三、helm安装prometheus-operator 四、配置监控k8s组件 五、granafa添加新数据源 六、监控mysql七、alertmanager配置 最后、卸载prometheus-operator 一、概述 The Prometheus resource 声明性地描述了Prometheus deploymen…

pom.xml之(二)

pom作为项目对象模型。通过xml表示maven项目&#xff0c;使用pom.xml来实现。主要描述了项目&#xff1a;包括配置文件&#xff1b;开发者需要遵循的规则&#xff0c;缺陷管理系统&#xff0c;组织和licenses&#xff0c;项目的url&#xff0c;项目的依赖性&#xff0c;以及其他…

win10 同步批处理禁用和启用网卡

echo off echo 正在启用超级管理员权限... %1 %2ver|find "5.">nul&&goto :stmshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :st","","runas",1)(window.close)&g…

Struts2+FlashFileUpload文件上传并生成缩略图和添加水印(转)

以前用过SWFUpload &#xff0c;功能确实很强大。javaeye上有人发布了这样一篇文章step-by-step多文件WEB批量上传(swfupload)的完美解决方案 有兴趣的朋友可以看一 下。Leeo觉得SWFUpload稍微不足的就是界面的定制&#xff0c;总感觉自己定制出来的界面有点难登大雅之堂。下面…

上古神器-AWK中高级实例分享-上

引言---AWK,Sed Linux下流处理的上古神器.I> 本次分享针对有一定基础的同学,基础知识请自行google,进行本次分享前最好能自主完成《AWK基础考察》II> 学习期间查阅不少资料,略过零乱,故自行整理;III> 如有雷同,纯属巧合;IV> 引用前请说明引用源地址--http://fengzh…