Jboss 6和Oracle上的gvnix
我在Tomcat和Postgis上安装了gvnix geo petclinic示例,没有任何问题。接下来,我尝试在Jboss和Oracle上安装它 我使用以下命令更改了roo脚本:Jboss 6和Oracle上的gvnix,oracle,jboss,gvnix,Oracle,Jboss,Gvnix,我在Tomcat和Postgis上安装了gvnix geo petclinic示例,没有任何问题。接下来,我尝试在Jboss和Oracle上安装它 我使用以下命令更改了roo脚本: jpa setup --provider HIBERNATE --database ORACLE --userName user --databaseName dbname --password pass --hostName host 当我尝试运行它时,出现以下错误: 13:24:57,781 ERROR [or
jpa setup --provider HIBERNATE --database ORACLE --userName user --databaseName dbname --password pass --hostName host
当我尝试运行它时,出现以下错误:
13:24:57,781 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 48) MSC000001: Failed to start service jboss.persistenceunit."geo-gvnix-jboss-oracle2.war#persistenceUnit": org.jboss.msc.service.StartException in service jboss.persistenceunit."geo-gvnix-jboss-oracle2.war#persistenceUnit": java.lang.IllegalStateException: java.lang.ClassNotFoundException: Can't find a delegate
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:103) [jboss-as-jpa-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final-redhat-1.jar:2.1.1.Final-redhat-1]
Caused by: java.lang.IllegalStateException: java.lang.ClassNotFoundException: Can't find a delegate
at net.bull.javamelody.JpaPersistence.guessDelegate(JpaPersistence.java:202)
at net.bull.javamelody.JpaPersistence.loadOrGuessDelegate(JpaPersistence.java:170)
at net.bull.javamelody.JpaPersistence.findDelegate(JpaPersistence.java:162)
at net.bull.javamelody.JpaPersistence.createContainerEntityManagerFactory(JpaPersistence.java:124)
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:200) [jboss-as-jpa-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.access$600(PersistenceUnitServiceImpl.java:57) [jboss-as-jpa-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:99) [jboss-as-jpa-7.3.0.Final-redhat-14.jar:7.3.0.Final-redhat-14]
... 4 more
Caused by: java.lang.ClassNotFoundException: Can't find a delegate
... 11 more
gvNIX生成Java标准应用程序,所以您应该在JBoss EAP 6.2+服务器上运行应用程序,而不会出现问题。。。但是您需要应用一些小的更改;)
- 提供的库:JBoss提供的持久性库与tomcat不同。您应该在pom.xml上设置为提供的持久性组件(请记住,如果需要,将oracle驱动程序设置为提供的,并将oracle驱动程序添加到JBOSS服务器)
org.hibernate 冬眠核心 4.2.2.最终版本 假如 org.hibernate 休眠实体管理器 4.2.2.最终版本 假如 cglib cglib dom4j dom4j org.hibernate.javax.persistence hibernate-jpa-2.0-api 1.0.1.最终版本 假如 org.hibernate 休眠验证器 4.3.1.最终版本 假如
- 路径冲突:JBoss不喜欢类路径配置中的“*”,因此您需要使用以下内容修改web.xml文件:
上下文配置位置 类路径:META-INF/spring/applicationContext.xml,类路径:META-INF/ spring/applicationContext-security.xml
- 数据源:在JBoss EAP 6.2.0+上运行的gvNIX应用程序需要为数据访问配置有效的JNDI数据源。因此,您需要修改applicationContext.xml文件上的数据源配置,如下所示:
- 注释当前源
- 添加以下JNDI数据源配置:
- 将persistence.xml上的事务类型修改为JTA。您的persistence.xml文件如下所示:
[…] org.hibernate.ejb.HibernatePersistence java:jboss/datasources/YOURDATASOURCENAME [...]
您只需将H-Spatial安装为JBoss模块,即可由JBoss提供。Hi@jcgarcia我已经完成了您建议我做的更改,但我遇到了其他错误。我正在用其他版本的Hibernate Spatial进行测试。你知道有什么问题吗?。ThnksI已经阅读了关于gvNix的所有文档,但它总是使用Tomcat。我能找一个Jboss@jcgarcia的例子吗?。谢谢你的帮助