当前位置: 首页 > 面试题库 >

Hibernate4 on JBoss EAP 5.1.2记录错误

孟子墨
2023-03-14
问题内容

我希望也许有人曾经遇到过这个问题并可以提供建议。我正在Hibernate 4和Spring 3上编写一个应用程序。这是我的依赖关系树:

+- javax.servlet:servlet-api:jar:2.5:provided
+- org.springframework:spring-webmvc:jar:3.1.3.RELEASE:compile
|  +- org.springframework:spring-asm:jar:3.1.3.RELEASE:compile
|  +- org.springframework:spring-beans:jar:3.1.3.RELEASE:compile
|  +- org.springframework:spring-context:jar:3.1.3.RELEASE:compile
|  +- org.springframework:spring-context-support:jar:3.1.3.RELEASE:compile
|  +- org.springframework:spring-core:jar:3.1.3.RELEASE:compile
|  +- org.springframework:spring-expression:jar:3.1.3.RELEASE:compile
|  \- org.springframework:spring-web:jar:3.1.3.RELEASE:compile
+- org.springframework:spring-orm:jar:3.1.3.RELEASE:compile
+- org.springframework:spring-jdbc:jar:3.1.3.RELEASE:compile
+- org.springframework:spring-tx:jar:3.1.3.RELEASE:compile
|  +- aopalliance:aopalliance:jar:1.0:compile
|  \- org.springframework:spring-aop:jar:3.1.3.RELEASE:compile
+- org.springframework.security:spring-security-core:jar:3.1.3.RELEASE:compile
+- org.springframework.security:spring-security-web:jar:3.1.3.RELEASE:compile
+- org.springframework.security:spring-security-config:jar:3.1.3.RELEASE:compile
+- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.1.Final:compile
+- org.hibernate:hibernate-core:jar:4.1.8.Final:compile
|  +- antlr:antlr:jar:2.7.7:compile
|  +- org.jboss.logging:jboss-logging:jar:3.1.0.GA:compile
|  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:compile
|  +- dom4j:dom4j:jar:1.6.1:compile
|  +- org.javassist:javassist:jar:3.15.0-GA:compile
|  \- org.hibernate.common:hibernate-commons-annotations:jar:4.0.1.Final:compile
+- org.hibernate:hibernate-entitymanager:jar:4.1.8.Final:compile
+- org.hibernate:hibernate-validator:jar:4.3.0.Final:compile
+- javax.validation:validation-api:jar:1.0.0.GA:compile
+- commons-lang:commons-lang:jar:2.4:compile
+- commons-beanutils:commons-beanutils:jar:1.8.3:compile
+- commons-beanutils:commons-beanutils-core:jar:1.8.3:compile
+- commons-beanutils:commons-beanutils-bean-collections:jar:1.8.3:compile
+- commons-logging:commons-logging:jar:1.1.1:compile
+- org.aspectj:aspectjrt:jar:1.7.1:compile
+- org.aspectj:aspectjweaver:jar:1.7.1:compile
+- log4j:log4j:jar:1.2.17:compile
+- javax.servlet:jstl:jar:1.2:compile
+- cglib:cglib:jar:2.2.2:compile
|  \- asm:asm:jar:3.3.1:compile
+- org.slf4j:slf4j-log4j12:jar:1.7.2:compile
+- org.slf4j:slf4j-api:jar:1.7.2:compile
+- junit:junit:jar:4.10:compile
|  \- org.hamcrest:hamcrest-core:jar:1.1:compile
+- org.dbunit:dbunit:jar:2.4.9:test
|  \- commons-collections:commons-collections:jar:3.2.1:test
+- org.apache.derby:derby:jar:10.9.1.0:compile
+- org.springframework:spring-test:jar:3.1.3.RELEASE:test
+- org.seleniumhq.selenium:selenium-java:jar:2.26.0:test
|  +- org.seleniumhq.selenium:selenium-android-driver:jar:2.26.0:test
|  \- org.seleniumhq.selenium:selenium-remote-driver:jar:2.26.0:test
|  |     +- cglib:cglib-nodep:jar:2.1_3:test
|  |     +- org.json:json:jar:20080701:test
|  |     \- com.google.guava:guava:jar:13.0.1:test
|  +- org.seleniumhq.selenium:selenium-chrome-driver:jar:2.26.0:test
|  +- org.seleniumhq.selenium:selenium-htmlunit-driver:jar:2.26.0:test
|  |  +- org.seleniumhq.selenium:selenium-api:jar:2.26.0:test
|  |  +- net.sourceforge.htmlunit:htmlunit:jar:2.10:test
|  |  |  +- xalan:xalan:jar:2.7.1:test
|  |  |  |  \- xalan:serializer:jar:2.7.1:test
|  |  |  +- org.apache.commons:commons-lang3:jar:3.1:test
|  |  |  +- org.apache.httpcomponents:httpmime:jar:4.2.1:test
|  |  |  +- commons-codec:commons-codec:jar:1.6:test
|  |  |  +- net.sourceforge.htmlunit:htmlunit-core-js:jar:2.10:test
|  |  |  +- xerces:xercesImpl:jar:2.9.1:test
|  |  |  |  \- xml-apis:xml-apis:jar:1.3.04:test
|  |  |  +- net.sourceforge.nekohtml:nekohtml:jar:1.9.16:test
|  |  |  \- net.sourceforge.cssparser:cssparser:jar:0.9.7:test
|  |  |     \- org.w3c.css:sac:jar:1.3:test
|  |  \- org.apache.httpcomponents:httpclient:jar:4.2.1:test
|  |     \- org.apache.httpcomponents:httpcore:jar:4.2.1:test
|  +- org.seleniumhq.selenium:selenium-firefox-driver:jar:2.26.0:test
|  |  +- commons-io:commons-io:jar:2.2:test
|  |  \- org.apache.commons:commons-exec:jar:1.1:test
|  +- org.seleniumhq.selenium:selenium-ie-driver:jar:2.26.0:test
|  |  +- net.java.dev.jna:jna:jar:3.4.0:test
|  |  \- net.java.dev.jna:platform:jar:3.4.0:test
|  +- org.seleniumhq.selenium:selenium-iphone-driver:jar:2.26.0:test
|  +- org.seleniumhq.selenium:selenium-safari-driver:jar:2.26.0:test
|  +- org.seleniumhq.selenium:selenium-support:jar:2.26.0:test
|  \- org.webbitserver:webbit:jar:0.4.14:test
|     \- io.netty:netty:jar:3.5.2.Final:test

问题在于Hibernate对jboss-logging.jar的依赖。将其部署到JBoss 5.1.2 Enterprise Server时,出现以下错误:

Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.MethodValidationPostProcessor#0' defined in ServletContext resource [/WEB-INF/classes/spring/servlet- context.xml]: Cannot resolve reference to bean 'validator' while setting bean property 'validator'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'validator' defined in ServletContext resource [/WEB- INF/classes/spring/application-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'validationMessageSource' threw exception; nested exception is java.lang.NoSuchMethodError: org.jboss.logmanager.LogContext.getAttachment(Ljava/lang/String;Lorg/jboss/logmanager/Logger$AttachmentKeyLjava/lang/Object; at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)

显然与jboss-logging.jar和EAP服务器不兼容。我尝试从Hibernate依赖项中排除该jar,但随后遇到此错误:

Caused by: java.lang.ClassNotFoundException: org.jboss.logging.BasicLogger at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:311) at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1163) at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:862) at org.jboss.classloader.spi.base.BaseClassLoader.doLoadClass(BaseClassLoader.java:502) at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:447) at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我发现没有什么可以告诉我如何解决此依赖关系问题的,所以我希望有人知道如何解决。

谢谢!


问题答案:

好吧,在与同事配对时,我们找到了解决与JBoss和Hibernate 4一起出现的问题的方法。事实证明,如果我们明确告知JBoss
EAP我们的日志记录实现(-D org.jboss.logging.provider = slf4j)
,它不会扫描日志记录实现,也没有我看到的NoSuchMethod异常。因此,除了设置一个系统属性外,我们无需进行任何其他更改。



 类似资料:
  • 问题内容: 我一直在阅读“错误日志记录”,并且想出了“ error_log”函数,它似乎是处理错误日志记录的好工具。但是,最流畅和最佳的使用方式是什么? 如果我有一个 这会将错误记录在my-errors.log文件中。但是,如果我有时需要更改文件位置,新文件夹或其他内容的位置,该怎么办?如果我有大量文件,则需要全部更改。 现在,我开始考虑使用变量来设置错误日志的路径。当然可以,但是如果我想在函数或

  • 0.3 新版功能. 应用故障,服务器故障。早晚你会在产品中看见异常。即使你的代码是 100% 正确的, 你仍然会不时看见异常。为什么?因为涉及的所有一切都会出现故障。这里给出一些 完美正确的代码导致服务器错误的情况: 客户端在应用读取到达数据时,提前终止请求 数据库服务器超载,并无法处理查询 文件系统满了 硬盘损坏 后端服务器超载 你所用的库出现程序错误 服务器的网络连接或其它系统故障 而且这只是

  • 可确认下载失败或无法与互联网连接时等,最新的10件错误历史记录。 轻触列表的错误项目,会显示详细内容。部分项目还可确认建议解决方法。

  • 我正在学习Fastapi,我正在localhost启动一个uvicorn服务器。每当出现错误/异常时,我都不会得到回溯。所有我得到的是: 所以,调试很困难,我正在试用python的日志模块 我还尝试过使用调试参数启动uvicorn

  • 本章讨论Laravel项目中的错误和日志记录以及如何处理它们。 Errors 正在进行的项目承担一些错误。 启动新的Laravel项目时,已经为您配置了错误和异常处理。 通常,在本地环境中,我们需要查看错误以进行调试。 我们需要在生产环境中隐藏用户的这些错误。 这可以通过存储在应用程序根目录的环境文件.env设置的变量APP_DEBUG来实现。 对于本地环境, APP_DEBUG的值应为true但

  • 通过@HystrixCommand注释,可以配置一个回退方法,在方法失败的情况下运行该方法。

  • 异常:到http://access.xyz.com的连接在org.apache.http.impl.conn.DefaultClientConnectionOperator.OpenConnection(DefaultClientConnectionOperator.java:190)在org.apache.http.impl.conn.ManagedClientConnectionImpl.Op

  • 我试图实现log4j2,但它一直抛出以下错误。 我试过网上给出的解决方案。但这似乎对我不起作用。 这就是我试图运行的代码。 pom中添加的项目和依赖项。xml: 感谢您的帮助。