zoukankan      html  css  js  c++  java
  • [jboss] 项目上线总结

    项目上线一波三折~

    项目上线前提service 给系统服务部(简称系服),让准备jboss4.2+jdk1.5环境。准备的是jboss4.5+jdk1.5的环境

    应用采用jdbc连接数据库,jboss只是负责启动应用即可。但系服说 东方钢铁要采用oracle-ds.xml 这种方式连接。幸好应用两种连接数据库方式(jndi、jdbc)都具备。在测试服务器上模拟了和正式服务器一样的环境。

    1.修改了application-db.xml的数据库连接:

    *************************************************************************************

    <!-- jndi datasource -->
     <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
         <property name="jndiName" value="java:comp/env/appDS"/>
        </bean>
     <bean id="cleanDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
         <property name="jndiName" value="java:comp/env/appDS"/>
        </bean>

    *************************************************************************************

    Jboss如何将应用与oracle-ds.xml中jndi配置一一对应:在/WEB-INF/下新建 jboss-web.xml,同web平级。

    2.在jboss-web.xml中配置oracle-ds.xml中配置的jndi-name(jndi标识)

    *************************************************************************************

    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE jboss-web PUBLIC
     "-//JBoss//DTD Web Application 2.4//EN"
     "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
    <jboss-web> 
        <resource-ref> 
            <res-ref-name>appDS</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
            <jndi-name>java:/test_portal</jndi-name> 
        </resource-ref> 
     <!--<context-root>/</context-root>  -->
    </jboss-web> 

    *************************************************************************************

    3.web.xml中配置:

    *************************************************************************************

    <resource-ref>
      <res-ref-name>appDS</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
     </resource-ref>

    *************************************************************************************

    4.oracle-ds.xml中配置JNDI连接信息:

    *************************************************************************************

       <local-tx-datasource>
        <jndi-name>test_portal</jndi-name>
        <connection-url>jdbc:oracle:thin:@XX.XX.XX.XX:port:(train)</connection-url>
        <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
        <user-name>admin</user-name>
        <password>123</password>
        <connection-property name="char.encoding">GBK</connection-property>
        <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
        <min-pool-size>2</min-pool-size>
        <max-pool-size>20</max-pool-size>
        <blocking-timeout-millis>5000</blocking-timeout-millis>
        <idle-timeout-minutes>5</idle-timeout-minutes>
        <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
      </local-tx-datasource>

    *************************************************************************************

    配置的时候注意几个细节

    jboss启动时要检查颜色区域,相同颜色区域要一一对应,不然启动会报异常。就因 appDS 和 appDs 大小写没注意折腾好久

    还有jboss-web.xml中:

     <context-root>/</context-root>   作用:启动jboss后ie访问:http://localhost:8080/ 直接可以访问该应用。所以若ie地址栏得输入应用名的话这地方可以不写。ok解决成功!

    *************************************************************************************

    这里得谢谢 博客:http://blog.csdn.net/lovingprince/article/details/6577920 的提点。

    *************************************************************************************

    但系服上线时仍有错,心想环境一样。怎么我们这边测试环境可以他们那边的正式环境就不行了呢,就换了个数据源。

    查看错误日志后报了个log4j问题。网上搜了下是log4j版本太低。通知系服换jboss  /server/default/lib jar包。

    更换jar包后又有错,说:

    jboss启动异常org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException: Failed to register driver for: oracle.jdbc.driver.OracleDriver; - nested throwable: (java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver)) 是oracle jdbc驱动和jdk版本不匹配导致。

    后查看测试环境jdk。这才发现。测试环境是jboss-4.0.5+jdk1.6  oracle驱动采用的是 ojdbc6.jar

    正式环境jboss-4.0.5+jdk1.5  oracle驱动采用的是 ojdbc6.jar ,所以将ojdbc14.jar包将ojdbc6.jar包替换掉。

    oracle6.jar支持jdk1.6

    oracle14.jar支持jdk1.4,jdk1.5。

    **************************************************************************************

    oracle驱动与jdk版本匹配 相关博客:http://tiantian0521.blog.163.com/blog/static/4172088320117294265766/

    **************************************************************************************

    jboss启动正常!

  • 相关阅读:
    使用神经网络识别手写数字Using neural nets to recognize handwritten digits
    C++ 宏定义与常量
    C语言枚举类型(Enum)
    【转】DSP是什么--DSP是神马东东??
    linux 源码编译安装apache
    【转】细说自动化运维的前世今生
    【转】C语言中整型运算取Ceiling问题
    linux系统调优
    linux 状态与系统调优
    vue2.0 watch 详解
  • 原文地址:https://www.cnblogs.com/kentyouyou/p/3090738.html
Copyright © 2011-2022 走看看