I thought this was an expected limitation, since the Logger
implementations generated by the latest tools depend on the new logger
classes.
We're having a Shrinkwrap+Arquillian test in Hibernate Search itself
which creates a test app containing it's own latest build and deploys
it to a test-managed AS7 instance on version 7.0.2.Final.
If I build Hibernate Search using
<jbossLoggingVersion>3.1.0.Beta3</jbossLoggingVersion>
<jbossLoggingProcessorVersion>1.0.0.CR3</jbossLoggingProcessorVersion>
then the generated logger implementation will extend
org.jboss.logging.DelegatingBasicLogger, which is not found as
7.0.2.Final doesn't have such a class.
To reproduce, checkout :
github
branch: HSEARCH-965
Maven module : hibernate-search-integrationtest
testname: MemberRegistrationIT
Error:
19:37:07,415 ERROR [org.jboss.msc.service.fail] (MSC service thread
1-2) MSC00001: Failed to start service
jboss.persistenceunit."MemberRegistrationIT.war#primary":
org.jboss.msc.service.StartException in service
jboss.persistenceunit."MemberRegistrationIT.war#primary": Failed to
start service
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1780)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[:1.6.0_27]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[:1.6.0_27]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_27]
Caused by: java.util.ServiceConfigurationError:
org.hibernate.integrator.spi.Integrator: Provider
org.hibernate.search.hcore.impl.HibernateSearchIntegrator could not be
instantiated: java.lang.LinkageError: Failed to link
org/hibernate/search/util/logging/impl/Log_$logger (Module
"deployment.MemberRegistrationIT.war:main" from Service Module Loader)
at org.hibernate.integrator.internal.ServiceLoader.fail(ServiceLoader.java:99)
at org.hibernate.integrator.internal.ServiceLoader.<init>(ServiceLoader.java:71)
at org.hibernate.integrator.internal.ServiceLoader.load(ServiceLoader.java:191)
at
org.hibernate.integrator.internal.IntegratorServiceImpl.getIntegrators(IntegratorServiceImpl.java:61)
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:293)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1722)
at
org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:76)
at
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:899)
at
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:884)
at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
at
org.jboss.as.jpa.service.PersistenceUnitService.createContainerEntityManagerFactory(PersistenceUnitService.java:143)
at org.jboss.as.jpa.service.PersistenceUnitService.start(PersistenceUnitService.java:77)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
... 3 more
Caused by: java.lang.LinkageError: Failed to link
org/hibernate/search/util/logging/impl/Log_$logger (Module
"deployment.MemberRegistrationIT.war:main" from Service Module Loader)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:401)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:261)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:76)
at org.jboss.modules.Module.loadModuleClass(Module.java:590)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:183)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103)
at java.lang.Class.forName0(Native Method) [:1.6.0_27]
at java.lang.Class.forName(Class.java:247) [:1.6.0_27]
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2249)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2215)
at org.hibernate.search.util.logging.impl.LoggerFactory.make(LoggerFactory.java:37)
at
org.hibernate.search.hcore.impl.HibernateSearchIntegrator.<clinit>(HibernateSearchIntegrator.java:48)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) [:1.6.0_27]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
[:1.6.0_27]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
[:1.6.0_27]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_27]
at java.lang.Class.newInstance0(Class.java:355) [:1.6.0_27]
at java.lang.Class.newInstance(Class.java:308) [:1.6.0_27]
at org.hibernate.integrator.internal.ServiceLoader.<init>(ServiceLoader.java:67)
... 15 more
Caused by: java.lang.NoClassDefFoundError:
org/jboss/logging/DelegatingBasicLogger
at java.lang.ClassLoader.defineClass1(Native Method) [:1.6.0_27]
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [:1.6.0_27]
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [:1.6.0_27]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
[:1.6.0_27]
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:397)
... 36 more
Caused by: java.lang.ClassNotFoundException:
org.jboss.logging.DelegatingBasicLogger from [Module
"deployment.MemberRegistrationIT.war:main" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:361)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:333)
at
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:310)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:103)
... 41 more
On 7 November 2011 19:27, David M. Lloyd <david.lloyd(a)redhat.com> wrote:
The first issue I will make sure is resolved before releasing.
The second issue should not be true - the primary differences between 3.0
and 3.1 are in annotations, which have been changed in 3.1 to have CLASS
retention - but if you find there is a compatibility problem please let me
know ASAP.
On 11/07/2011 01:25 PM, Sanne Grinovero wrote:
>
> There are two problems:
> * JBLOGGING-74 - opened last week, is not a blocker but has some
> consequences on performance
> * second is that if we go with 3.1 it will not work on all releases
> of AS7 having 3.0.x.; Which means for all the people waiting for
> Hibernate 4.0.0.Final won't have a nice AS to play with when it's
> released.
>
> Sanne
>
>
> On 7 November 2011 16:33, Emmanuel Bernard<emmanuel(a)hibernate.org> wrote:
>>
>> Yep, we have it running against 3.1.0.Beta3 which is the latest release
>> published.
>>
>> On 7 nov. 2011, at 17:27, David M. Lloyd wrote:
>>
>>> I can look into it tonight. Have you tested with the latest 3.1.0
>>> release to verify there are no problems?
>>>
>>> On 11/07/2011 09:51 AM, Steve Ebersole wrote:
>>>>
>>>> Specifically, is there anyway to get org.jboss.logging:jboss-logging to
>>>> Final/GA in the next few days? The generator/processor is irrelevant as
>>>> far as we are concerned for a Hibernate release.
>>>>
>>>> On Mon 07 Nov 2011 09:47:08 AM CST, Steve Ebersole wrote:
>>>>>
>>>>> Which really sucks since 4.0 Final is slated for 2 days.
>>>>>
>>>>> Ugh.
>>>>>
>>>>> On Fri 04 Nov 2011 10:59:24 AM CDT, Emmanuel Bernard wrote:
>>>>>>
>>>>>> Do you know when JBoss Logging 3.1.0.GA will hit the road. I
can't
>>>>>> really release Hibernate Commons Annotations nor Core etc until
we
>>>>>> have the final version. I mean we could but we might have to redo
it.
>>>>>>
>>>>>> Emmanuel
>>>>>>
>>>>>> On 4 nov. 2011, at 16:05, David M. Lloyd wrote:
>>>>>>
>>>>>>> Yeah let's target 3.1.0.GA for everything. The final
1.0.0.GA
>>>>>>> release
>>>>>>> of the i18n logging tool will require 3.1.0.GA.
>>>>>>>
>>>>>>> On 11/04/2011 09:42 AM, Scott Marlow wrote:
>>>>>>>>
>>>>>>>> Currently, in AS7, the AS7 "org.jboss.logging"
module is used by
>>>>>>>> the
>>>>>>>> Hibernate (Core) module. The
"org.jboss.logging" module happens to
>>>>>>>> be
>>>>>>>> "3.1.0.Beta3". I think that Hibernate (4.0.x)
Core needs to stay in
>>>>>>>> sync with the AS7 version of JBoss Logging.
>>>>>>>>
>>>>>>>>
>>>>>>>>
https://github.com/jbossas/jboss-as/blob/master/build/src/main/resources/...
>>>>>>>>
>>>>>>>>
>>>>>>>> I think that AS7 needs to stay in sync with what
integrated
>>>>>>>> projects are
>>>>>>>> using (using the 3.1.0.* versions of JBoss logging for AS
7.1).
>>>>>>>>
>>>>>>>>
>>>>>>>> On 11/04/2011 07:30 AM, Emmanuel Bernard wrote:
>>>>>>>>>
>>>>>>>>> JBoss AS 7.1 is targeted to use JBoss Logging 3.0.1
AFAIK.
>>>>>>>>> Hibernate Core 4.0 right now is using JBoss Logging
3.1.0.Beta3
>>>>>>>>>
>>>>>>>>> // logging
>>>>>>>>> logging:
'org.jboss.logging:jboss-logging:3.1.0.Beta3',
>>>>>>>>> logging_generator:
>>>>>>>>>
'org.jboss.logging:jboss-logging-generator:1.0.0.CR3',
>>>>>>>>> logging_processor:
>>>>>>>>>
'org.jboss.logging:jboss-logging-processor:1.0.0.CR3',
>>>>>>>>>
>>>>>>>>> So which one we should go to? Once we have decided, I
will align
>>>>>>>>> Search, OGM and Commons Annotations.
>>>>>>>>>
>>>>>>>>> Emmanuel
>>>>>>>>> _______________________________________________
>>>>>>>>> hibernate-dev mailing list
>>>>>>>>> hibernate-dev(a)lists.jboss.org
>>>>>>>>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> jboss-as7-dev mailing list
>>>>>>>> jboss-as7-dev(a)lists.jboss.org
>>>>>>>>
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> - DML
>>>>>>> _______________________________________________
>>>>>>> jboss-as7-dev mailing list
>>>>>>> jboss-as7-dev(a)lists.jboss.org
>>>>>>>
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> hibernate-dev mailing list
>>>>>> hibernate-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>>>
>>>>
>>>
>>>
>>> --
>>> - DML
>>
>>
>> _______________________________________________
>> jboss-as7-dev mailing list
>> jboss-as7-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>>
--
- DML