2012-11-3 20:01:23 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.apache.roller.weblogger.ui.core.RollerContext
java.lang.RuntimeException: <openjpa-2.0.1-r422266:989424 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: This configuration disallows runtime optimization, but the following listed types were not enhanced at build time or at class load time with a javaagent: "
org.apache.roller.weblogger.pojos.TaskLock
org.apache.roller.weblogger.pojos.OAuthConsumerRecord
org.apache.roller.weblogger.pojos.WeblogReferrer
org.apache.roller.weblogger.pojos.MediaFile
org.apache.roller.weblogger.pojos.WeblogBookFolder
org.apache.roller.weblogger.pojos.WeblogTemplate
org.apache.roller.weblogger.pojos.UserRole
org.apache.roller.weblogger.pojos.WeblogEntryComment
org.apache.roller.weblogger.pojos.WeblogCategory
org.apache.roller.weblogger.pojos.User
org.apache.roller.weblogger.pojos.PingTarget
org.apache.roller.weblogger.pojos.WeblogPermission
org.apache.roller.weblogger.pojos.WeblogEntryTag
org.apache.roller.weblogger.pojos.MediaFileTag
org.apache.roller.weblogger.pojos.WeblogBook
org.apache.roller.weblogger.pojos.OAuthAccessorRecord
org.apache.roller.weblogger.pojos.AutoPing
org.apache.roller.weblogger.pojos.WeblogEntry
org.apache.roller.weblogger.pojos.Weblog
org.apache.roller.weblogger.pojos.UserAttribute
org.apache.roller.weblogger.pojos.WeblogEntryAttribute
org.apache.roller.weblogger.pojos.WeblogEntryTagAggregate
org.apache.roller.weblogger.pojos.ObjectPermission
org.apache.roller.weblogger.pojos.MediaFileDirectory
org.apache.roller.weblogger.pojos.RuntimeConfigProperty
org.apache.roller.weblogger.pojos.PingQueueEntry
org.apache.roller.weblogger.pojos.WeblogHitCount".
at org.apache.roller.weblogger.business.jpa.JPAPropertiesManagerImpl.initialize(JPAPropertiesManagerImpl.java:92)
at org.apache.roller.weblogger.business.WebloggerImpl.initialize(WebloggerImpl.java:338)
at org.apache.roller.weblogger.ui.core.RollerContext.contextInitialized(RollerContext.java:161)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: <openjpa-2.0.1-r422266:989424 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: This configuration disallows runtime optimization, but the following listed types were not enhanced at build time or at class load time with a javaagent: "
org.apache.roller.weblogger.pojos.TaskLock
org.apache.roller.weblogger.pojos.OAuthConsumerRecord
org.apache.roller.weblogger.pojos.WeblogReferrer
org.apache.roller.weblogger.pojos.MediaFile
org.apache.roller.weblogger.pojos.WeblogBookFolder
org.apache.roller.weblogger.pojos.WeblogTemplate
org.apache.roller.weblogger.pojos.UserRole
org.apache.roller.weblogger.pojos.WeblogEntryComment
org.apache.roller.weblogger.pojos.WeblogCategory
org.apache.roller.weblogger.pojos.User
org.apache.roller.weblogger.pojos.PingTarget
org.apache.roller.weblogger.pojos.WeblogPermission
org.apache.roller.weblogger.pojos.WeblogEntryTag
org.apache.roller.weblogger.pojos.MediaFileTag
org.apache.roller.weblogger.pojos.WeblogBook
org.apache.roller.weblogger.pojos.OAuthAccessorRecord
org.apache.roller.weblogger.pojos.AutoPing
org.apache.roller.weblogger.pojos.WeblogEntry
org.apache.roller.weblogger.pojos.Weblog
org.apache.roller.weblogger.pojos.UserAttribute
org.apache.roller.weblogger.pojos.WeblogEntryAttribute
org.apache.roller.weblogger.pojos.WeblogEntryTagAggregate
org.apache.roller.weblogger.pojos.ObjectPermission
org.apache.roller.weblogger.pojos.MediaFileDirectory
org.apache.roller.weblogger.pojos.RuntimeConfigProperty
org.apache.roller.weblogger.pojos.PingQueueEntry
org.apache.roller.weblogger.pojos.WeblogHitCount".
at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:116)
at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317)
at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241)
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
at org.apache.roller.weblogger.business.jpa.JPAPersistenceStrategy.getThreadLocalEntityManager(JPAPersistenceStrategy.java:238)
at org.apache.roller.weblogger.business.jpa.JPAPersistenceStrategy.getEntityManager(JPAPersistenceStrategy.java:225)
at org.apache.roller.weblogger.business.jpa.JPAPersistenceStrategy.getNamedQuery(JPAPersistenceStrategy.java:258)
at org.apache.roller.weblogger.business.jpa.JPAPropertiesManagerImpl.getProperties(JPAPropertiesManagerImpl.java:117)
at org.apache.roller.weblogger.business.jpa.JPAPropertiesManagerImpl.initialize(JPAPropertiesManagerImpl.java:77)
... 10 more
2012-11-3 20:01:23 org.apache.catalina.core.StandardContext startInternal
严重: Error listenerStart
2012-11-3 20:01:23 org.apache.catalina.core.StandardContext startInternal
严重: Context [/roller5] startup failed due to previous errors
2012-11-3 20:01:23 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/roller5] appears to have started a thread named [com.google.inject.internal.Finalizer] but has failed to stop it. This is very likely to create a memory leak.
2012-11-3 20:01:23 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/roller5] appears to have started a thread named [HitCountQueueProcessor] but has failed to stop it. This is very likely to create a memory leak.
2012-11-3 20:01:23 org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
严重: The web application [/roller5] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@1f78dde]) and a value of type [org.apache.openjpa.persistence.EntityManagerImpl] (value [org.apache.openjpa.persistence.EntityManagerImpl@fd0e71]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak. 

解决方案 »

  1.   

    补充,persistence.xml配置内容如下:
    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
        <persistence-unit name ="RollerPU" transaction-type="RESOURCE_LOCAL"> 
            <non-jta-data-source>jdbc/rollerdb</non-jta-data-source>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogBook.orm.xml          </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogEntryComment.orm.xml      </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogEntryAttribute.orm.xml    </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogBookFolder.orm.xml    </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogHitCount.orm.xml          </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/PingQueueEntry.orm.xml          </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/PingTarget.orm.xml              </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogReferrer.orm.xml          </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/UserRole.orm.xml                </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/RuntimeConfigProperty.orm.xml   </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/TaskLock.orm.xml                </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/User.orm.xml                    </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogCategory.orm.xml          </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogEntry.orm.xml             </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogEntryTagAggregate.orm.xml </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogEntryTag.orm.xml          </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogTemplate.orm.xml          </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/ObjectPermission.orm.xml        </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/WeblogPermission.orm.xml        </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/Weblog.orm.xml                  </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/UserAttribute.orm.xml           </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/OAuthConsumerRecord.orm.xml     </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/OAuthAccessorRecord.orm.xml     </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/MediaFile.orm.xml               </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/MediaFileTag.orm.xml            </mapping-file>
            <mapping-file>org/apache/roller/weblogger/pojos/MediaFileDirectory.orm.xml      </mapping-file>
            <class>org.apache.roller.weblogger.pojos.AutoPing</class>
        </persistence-unit>  
        
         <persistence-unit name ="PlanetPU" transaction-type = "RESOURCE_LOCAL"> 
            <non-jta-data-source>jdbc/rollerdb</non-jta-data-source>
            <mapping-file>org/apache/roller/planet/pojos/RuntimeConfigProperty.orm.xml</mapping-file>
            <mapping-file>org/apache/roller/planet/pojos/Planet.orm.xml</mapping-file>
            <mapping-file>org/apache/roller/planet/pojos/PlanetGroup.orm.xml</mapping-file>
            <mapping-file>org/apache/roller/planet/pojos/Subscription.orm.xml</mapping-file>
            <mapping-file>org/apache/roller/planet/pojos/SubscriptionEntry.orm.xml</mapping-file> 
        </persistence-unit>
            
    </persistence>
      

  2.   

    可以在persistence.xml中增加如下配置:
    <property name="openjpa.RuntimeUnenhancedClasses" value="supported"/>
      

  3.   

    搞定了,我加了个jpa编译时增强,