返回顶部
首页 > 资讯 > 数据库 >将项目从JBOSS 6 迁移到 JBOSS 7所遇到的问题
  • 196
分享到

将项目从JBOSS 6 迁移到 JBOSS 7所遇到的问题

2024-04-02 19:04:59 196人浏览 薄情痞子
摘要

以下内容只是以笔记形式记录,以防再次折腾,同时提供一个借鉴: 1、项目中的数据源使用的是JBOSS的JNDI,在6、7两个版本中,配置差别较大,具体配置方法,资料配置较多,我这里不重复说(可参考H

以下内容只是以笔记形式记录,以防再次折腾,同时提供一个借鉴:

 

1、项目中的数据源使用的是JBOSS的JNDI,在6、7两个版本中,配置差别较大,具体配置方法,资料配置较多,我这里不重复说(可参考Http://www.tuicool.com/articles/aqI7V3)。在升级到JBOSS 7后,因项目中使用了oracle的表,需要用到ARRAY,创建这个对象时需要使用OracleConnection,在JBOSS6中是这样转换的   

if(conn.isWrapperFor(OracleConnection.class)){
  oraConn= conn.unwrap(OracleConnection.class);
}

但升级到7会发现这个段代码不起作用,本以为要换一种方法,如:

if(conn instanceof WrappedConnection){
  oraConn= (OracleConnection) ((WrappedConnectionjdk6)conn).getUnderlyinGConnection();
  }


(或者通过conn.getMetaData().getConnection()获取T4CConnection转型成OracleConnection),

因为使用JBOSS的JNDI获取的Connection实例实际是WrappedConnectionJDK6对象,所以你需要将jboss自带的ironjacamar-jdbc-1.0.9.Final.jar添加到classpath中,但最终你会发现这段代码也是不起作用的,conn instanceof org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6不会成立,如果强制转换会报转型错误:

java.lang.ClassCastException: org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6cannot be cast
 to org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6

,自己不能转自己,很奇怪的东西。根据查找的资料分析,猜测是跟JBOSS 7模块加载有关:假使模块a加载了Test.class这个类(或jar),模块b也加载了一次Test.class(或jar)(这里两个模块的Test.class其实是同一个类文件),但如果你在b模块中获取了a模块里的Test.class实例,你在代码中强制转型成b模块的Test.class,这时就会报出转型错误。

解决的方法是在告知jboss b模块要用到的Test.class(jar)直接使用a模块的Test.class(jar),

具体配置方法是在WEB-INF/jboss-deployment-structure.xml配置文件里添加以下配置:

<dependencies>
<!-- <modulename="org.jboss.ironjacamar.jdbcadapters" slot="main"/>-->
   <module name="com.oracledatabase.oracle"slot="main"/>
</dependencies>

其中注释的org.jboss.ironjacamar.jdbcadapters是如果要转型成org.jboss.jca.adapters.jdbc.WrappedConnectionJDK6的配置,而com.oracledatabase.oracle是我本地的JNDIoracle module.xml中的名字:

<?xml version="1.0"encoding="UTF-8"?>
<modulexmlns="urn:jboss:module:1.0"name="com.oracledatabase.oracle">
 <resources>
<resource-rootpath="ojdbc6.jar"/>
<!—没有的话会乱码-->
   <resource-root path="orai18n.jar"/>
 </resources>
 <dependencies>
   <module name="javax.api"/>
  <module name="javax.transaction.api"/>
  <module name="javax.servlet.api"optional="true"/>
  </dependencies>
</module>

 

这样配置后,代码中的使用的类就会加载成在被依赖模块中的类。这样配置后conn.isWrapperFor(OracleConnection.class)又变成可以使用的了。

 

 

2、在jboss 7中的jboss-web.xml不在使用class-loading配置,不然报解析不了的错。参考:

http://www.cnblogs.com/davidwang456/p/3959561.html

 

 

3、jboss 7中,jsp使用的本地标签tld文件必须放到WEB-INF中,放到类目录下的META-INF目录会报FileNotFound错。

 

以上内容只做参考,本人也是刚接触JBOSS


您可能感兴趣的文档:

--结束END--

本文标题: 将项目从JBOSS 6 迁移到 JBOSS 7所遇到的问题

本文链接: https://lsjlt.com/news/40053.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 将项目从JBOSS 6 迁移到 JBOSS 7所遇到的问题
    以下内容只是以笔记形式记录,以防再次折腾,同时提供一个借鉴: 1、项目中的数据源使用的是JBOSS的JNDI,在6、7两个版本中,配置差别较大,具体配置方法,资料配置较多,我这里不重复说(可参考h...
    99+
    2024-04-02
  • 浅谈将three项目迁移至vue项目遇到的问题
    目录通过npm下载的three依赖无法正常使用导入模型的路径出现了问题3D场景渲染后没有进行销毁由于我的3D场景起初是自己为了测试搭建的,所以使用的是html + three,后来将...
    99+
    2024-04-02
  • 如何解决将three项目迁移至vue项目遇到的问题
    这篇文章主要介绍了如何解决将three项目迁移至vue项目遇到的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。通过npm下载的three依赖无法正常使用在原项目中使用的是...
    99+
    2023-06-28
  • sybase15 迁移数据库时遇到的问题
    在创建逻辑卷的时候首先要创建pv pvcreate /dev/sdb创建pv之后开始创建vg vgcreate vg_db /dev/sdb创建vg后开始划lv也就是逻辑卷 lvcreate -L 1G e...
    99+
    2024-04-02
  • sqlite3迁移mysql可能遇到的问题有哪些
    小编给大家分享一下sqlite3迁移mysql可能遇到的问题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!问题列表1、sq...
    99+
    2024-04-02
  • 将Django项目迁移到linux系统的详细步骤
    目录Django项目配置修改项目环境以及数据库打包linux系统中的配置1、python3的安装2、第二步就是数据库的配置项目整合与配置总结Django项目配置修改 我们需要把原先的Django项目进行修改才能更好地进行...
    99+
    2023-03-15
    Django项目迁移到linux Django项目迁移 Django项目迁移linux系统
  • ES业务数据迁移遇到的精度问题BUG
    目录前言01 问题发现过程02 问题的根因是什么03 类似的问题有哪些千年虫问题:2038 年问题:04 小结前言 最近在协助团队完成 ES 数据的切换(业务数据迁移),过程中遇到一...
    99+
    2024-04-02
  • springmvc项目使用@Valid+BindingResult遇到的问题
    目录第一步:pom.xml中引入javax.validation和hibernate-validator第二步:创建需要校验的参数bean类这里一定要注意两个问题第三步:写contr...
    99+
    2024-04-02
  • 微信小程序转uniapp的迁移步骤及遇到的问题
      目录 前言 一、迁移步骤 第一步:安装miniprogram-to-uniapp 插件 第二步:查看是否安装成功 第三步:使用插件进行转换 来源地址:https://blog.csdn.net/m0_61243965/article/...
    99+
    2023-09-08
    微信小程序 小程序 uniapp 前端
  • 基于SpringBoot项目遇到的坑--Date入参问题
    目录SpringBoot Date入参问题1.传输中的Date类型时间不准确2.后台返回的json数据springboot接口入参的一些问题入参绑定入参错误全局异常处理SpringB...
    99+
    2024-04-02
  • 手把手教你将一个旧的大型项目迁移到 Py
    一年半前,我们就决定使用 Python 3 了。我们已经讨论了很长时间,现在是时候使用了!现在这个过程已经结束了,我们已经把生产环境的最后部署都迁移到了 Python 3整个代码库大约有 240 k 行,不包括空行和注解。这是一个基于 We...
    99+
    2023-01-31
    个旧 手把手教你 项目
  • gitlab迁移遇到的版本不一致和无法导入问题
    这个时候需要卸载掉当前服务器安装的gitlab版本,并下载备份时的gitlab版本并重新安装(清华的tuna项目有所有的gitlab版本备份,下载地址:https://mirrors.tuna.tsingh...
    99+
    2024-04-02
  • springboot项目打成war包部署到tomcat遇到的一些问题
    开发环境使用jdk1.8.0_60,把springboot 项目打成war包后,部署到apache-tomcat-7.0.68时报错如下,换成apache-tomcat-8.0.9解决org.apache.catalina.Lifecycl...
    99+
    2023-05-31
    springboot war tomcat
  • 解决spring boot创建项目遇到配置的问题
    目录spring boot创建项目遇到配置的问题如下图所示需要修改sping运行时读取的地址SpringBoot项目创建及一些常见问题处理1.先创建一个maven项目,确保可以正常使...
    99+
    2024-04-02
  • vue-cli构建Vue项目遇到的问题有哪些
    小编给大家分享一下vue-cli构建Vue项目遇到的问题有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!问题表象和解决方案1、编译后js、css等相对路径和绝对路径。config/in...
    99+
    2024-04-02
  • ES业务数据迁移遇到的BUG精度问题怎么解决
    这篇文章主要讲解了“ES业务数据迁移遇到的BUG精度问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ES业务数据迁移遇到的BUG精度问题怎么解决”吧!01 问题发现过程通过前期的方...
    99+
    2023-07-02
  • 如何解决vue项目部署上线遇到的问题
    这篇文章将为大家详细讲解有关如何解决vue项目部署上线遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。流程     1.服...
    99+
    2024-04-02
  • springmvc项目使用@Valid+BindingResult遇到的问题怎么解决
    本篇内容介绍了“springmvc项目使用@Valid+BindingResult遇到的问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2023-06-21
  • 浅谈vue+vite项目部署会遇到的几个问题
    今天来打包硅谷外卖项目,通过解决项目中遇到的问题来加深对vite打包的理解。 运行yarn build 报错,报[WARNING] Expected identifier but f...
    99+
    2023-05-18
    vue vite 项目部署 vue vite部署
  • 如何解决Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题
    这篇文章将为大家详细讲解有关如何解决Mysql数据库从5.6.28版本升到8.0.11版本部署项目时遇到的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作