Hibernate + Log4J2 Performance Problem
by Petar Tahchiev
Hello,
I'm really sorry to post this here but I couldn't find any jboss-logging
mailing list. So here's my question. I'm reading this issue:
https://issues.jboss.org/browse/JBLOGGING-95
and I'm trying to make my hibernate use log4j2. So far I had
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-log4j</artifactId>
<version>${jboss.logging.version}</version>
</dependency>
and I have log4j -> log4j2 routed. Unfortunately now my hibernate creates a
log4j.log file and log4j prints the messages to the command line (still no
log4j2) :(
So I got rid of this dependency and I added the jboss-logging. So now
here's my set of jars:
hibernate-core
hibernate-entitymanager
hibernate-c3p0
hibernate-validator
log4j2
org.jboss.logging:jboss-logging:jar:3.2.0.Beta1
then I run my task and I get performance of:
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 3:12.951s
[INFO] Finished at: Fri Jul 11 12:50:41 EEST 2014
[INFO] Final Memory: 128M/508M
[INFO]
------------------------------------------------------------------------
3 minutes and 12 seconds. Performance is quite good. However I use the
maven enforcer plugin and maven did warn me I have duplicate classes:
Duplicate classes found:
Found in:
org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
org.jboss.logging:jboss-logging:jar:3.2.0.Beta1:compile
Duplicate classes:
org/jboss/logging/Field.class
org/jboss/logging/LoggerProvider.class
org/jboss/logging/Log4jLoggerProvider.class
org/jboss/logging/NDC.class
org/jboss/logging/MessageBundle.class
org/jboss/logging/AbstractMdcLoggerProvider.class
org/jboss/logging/Log4jLogger$1.class
org/jboss/logging/Messages$1.class
org/jboss/logging/JDKLevel.class
org/jboss/logging/DelegatingBasicLogger.class
org/jboss/logging/JDKLoggerProvider.class
org/jboss/logging/Slf4jLoggerProvider.class
org/jboss/logging/LoggingClass.class
org/jboss/logging/Messages.class
org/jboss/logging/AbstractLoggerProvider.class
org/jboss/logging/Property.class
org/jboss/logging/JBossLogRecord.class
org/jboss/logging/SerializedLogger.class
org/jboss/logging/Message.class
org/jboss/logging/MDC.class
org/jboss/logging/Message$Format.class
org/jboss/logging/JBossLogManagerProvider$1.class
org/jboss/logging/Cause.class
org/jboss/logging/Param.class
org/jboss/logging/JDKLogger$1.class
org/jboss/logging/JBossLogManagerLogger.class
org/jboss/logging/Slf4jLogger.class
org/jboss/logging/JBossLogManagerProvider.class
org/jboss/logging/FormatWith.class
org/jboss/logging/Slf4jLocationAwareLogger$1.class
org/jboss/logging/Logger$Level.class
org/jboss/logging/BasicLogger.class
org/jboss/logging/Logger$1.class
org/jboss/logging/JDKLogger.class
org/jboss/logging/JBossLogManagerLogger$1.class
org/jboss/logging/MessageLogger.class
org/jboss/logging/ParameterConverter.class
org/jboss/logging/Logger.class
org/jboss/logging/Slf4jLocationAwareLogger.class
org/jboss/logging/Log4jLogger.class
org/jboss/logging/LoggerProviders$1.class
org/jboss/logging/Slf4jLogger$1.class
org/jboss/logging/AbstractLoggerProvider$Entry.class
org/jboss/logging/LogMessage.class
org/jboss/logging/LoggerProviders.class
I excluded the jboss-logging from all hibernate dependencies like this:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.validator.version}</version>
<exclusions>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
No more duplicate classes :) . I run the same task again and here's the
performance:
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 1:30:04.829s
[INFO] Finished at: Fri Jul 11 12:28:08 EEST 2014
[INFO] Final Memory: 118M/512M
[INFO]
------------------------------------------------------------------------
1 hour and 30 minutes and 4 seconds!!!!!! OMG :X How could this be??? And
on top of this no Log4j messages are coming through :(
This is probably a bug or I'm clearly missing how to setup Hibernate and
LOG4J2. Can you please help me, or at least point me to a forum or mailing
list where I can post this.
--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at:
https://keyserver1.pgp.com/vkd/DownloadKey.event?keyid=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF 55A5 1965 8550 C311 0611
10 years, 5 months
Delaying 4.3.6 until tomorrow
by Gail Badner
I've started making preparations for the 4.3.6 release, but now I can't access the wiki with release instructions.
Since it's getting late anyhow, I'm going to put off releasing until tomorrow.
Gail
10 years, 5 months
Release of Hibernate ORM 4.3.6 ?
by Sanne Grinovero
Hi all,
I'm looking forward to a release of Hibernate ORM 4.3, especially
after my fix for Service loading under OSGi gets integrated (HHH-9258
is slowing down progress on Search).
I see it has been a long while since 4.3.5.Final.
Assuming that gets integrated quickly, could we also plan for a release please?
Cheers,
Sanne
10 years, 5 months
Gradle, ORM and Mac OS X
by Emmanuel Bernard
I had a lot of hurdles to make Hibernate ORM run and build on Mac OS X and IntelliJ IDEA so here are a few tidbits:
I give Gradle 1GB
export GRADLE_OPTS="-Xmx1024M"
Gradle hangs on me after ~ 2300 to 2400 tests for hibernate-core subsystem. Basically at least one of the worker hangs for ever.
To work around that I forced Gradle to use one thread
./gradlew -no-daemon --parallel-threads 1 clean test
IntelliJ IDEA does not import ORM properly on Mac OS X. I tried both to run IDEA with Java 6 (default) and Java 7 (hacked). The way around that is to use `./gradlew idea` and open the project in the IDE. You then have to manually add the generated source directory in a few modules.
Things are explained here: https://community.jboss.org/wiki/ContributingToHibernateUsingIntelliJ
Emmanuel
10 years, 5 months