• 应用部署到JBOSS上遇到的问题


    原来应用在WAS7.0下,移植到JBOSS eap5.1.2下后,遇到了一些问题,特此记录:

    1、数据源配置

         在was中,datasource中获取数据源名称时,直接写was中配置的数据源名称即可。而在jboss下,jndi的名称需要以java:+数据源名称开始。was下可以通过console去配置数据源,jboss中,将数据库驱动复制到%JBOSS_HOME%/server/default/lib/下,然后到JBoss的文档中寻找到数据源的配置模板,这个配置模板在docs/examples/jca目录下,在这目录下可以看到有各种数据库的配置模板,找到oracle的配置模板,oracle-ds.xml,将其复制到%JBOSS_HOME%/server/default/deploy/ 下。然后将数据库连接串、用户名、密码等写正确。

      数据源发布成功之后,我们就可以进入JBoss的管理控制台,http://localhost:8080/jmx-console/, 找到jboss.jca这个栏目,会找到很多name=itcastDS.service=....的东西,当这个数据源在jboss.jca这个栏目列出来的时候,就证明我们的发布是成功的。

    2、web.xml配置

        在was7下,web.xml顶部必须有一个DOCTYPE声明,这个在jboss中不可以有,否则无法启动。

    3、JVM配置

         jvm的默认的permsize只有4M,当应用中jar包和类比较多时,会出现OutOfMemory:PermSize的异常。 此时,需要在%JBOSS_HOME%/bin/run.conf下,最顶部添加如下jvm参数配置:

       set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

     4、出现head size异常

    可以通过指定最大堆大小来解决此问题 即set JAVA_OPTS=-Xmx1024m

    4、jboss-web.xml

       默认情况下,应用中的某些jar包也jboss中的jar包冲突。此时在web-inf下添加一个jboss-web.xml,即可正常启动,内容如下:

    <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
    <jboss-web>
    <class-loading java2ClassLoadingCompliance='true'>
    <loader-repository>
    com.example:archive=unique-archive-name
    <loader-repository-config>
    java2ParentDelegaton=true
    </loader-repository-config>
    </loader-repository>
    </class-loading>
    </jboss-web>

  • 相关阅读:
    DQN(Deep Q-learning)入门教程(结束)之总结
    蕴含式(包含EXISTS语句的分析)
    元组关系演算(从集合的角度深入浅出)
    数据流图 和 数据字典
    第3章_关系数据库标准语言(SQL)_006_由元组关系演算到SQL Command_001_蕴含式 (其中有对EXISTS的分析)
    元组关系演算(从集合的角度深入浅出)- 例题(不严谨,无蕴含式)
    问题_001_数据类型转换
    001_C语言中运算符的优先级
    补充_001_问题_001_Vivian
    Netty学习笔记(三)- Reactor模型
  • 原文地址:https://www.cnblogs.com/hanxianlong/p/3478582.html
Copyright © 2020-2023  润新知