I had the idea of setting up roller on weblogic 10 and cannot get it
to work. Issues seem to surround JPA
I have WebLogic using the jars in roller. From the web I've got
commons-logging.jar in the classpath as well as in roller\web-inf\lib
Is it meaningful that openJPA in roller is openjpa-0.9.7-
incubating.jar ? Should this be updated and, if so, where do I get
the update ?
At one point it did determine the database tables didn't exist,
created them and sees the database when it tries to come up:
INFO 2009-06-29 12:33:15,376 WebloggerFactory:bootstrap -
Bootstrapping Roller Weblogger business tier
INFO 2009-06-29 12:33:15,376 WebloggerFactory:bootstrap - Weblogger
Provider = org.apache.roller.weblogger.business.GuiceWebloggerProvider
INFO 2009-06-29 12:33:15,376 DatabaseProvider:successMessage -
SUCCESS: Got parameters. Using configuration type JDBC_PROPERTIES
INFO 2009-06-29 12:33:15,376 DatabaseProvider:successMessage - --
Using JDBC driver class: oracle.jdbc.OracleDriver
INFO 2009-06-29 12:33:15,376 DatabaseProvider:successMessage - --
Using JDBC connection URL: jdbc:oracle:thin:@localhost:1521:XE
INFO 2009-06-29 12:33:15,376 DatabaseProvider:successMessage - --
Using JDBC username: roller
INFO 2009-06-29 12:33:15,376 DatabaseProvider:successMessage - --
Using JDBC password: [hidden]
INFO 2009-06-29 12:33:15,376 DatabaseProvider:successMessage -
SUCCESS: loaded JDBC driver class [oracle.jdbc.OracleDriver]
I would like to stay with WebLogic and Oracle DB as that's our main
infrastructure. Ideas are welcome and I'll put the "winning"
information together for an updated install guide.
Environment and errors below.
Thanks ...
Environment:
MSFT XP SP2
Java jdk1.6.0_14
Oracle 10g XE database
weblogic.xml (C:\roller\WEB-INF)
<?xml version="1.0" encoding="ISO-8859-1"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
<resource-description>
<res-ref-name>mail/Session</res-ref-name>
<jndi-name>mailsession</jndi-name>
</resource-description>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
roller-custom.properties (C:\roller\WEB-INF\classes)
installation.type=auto
database.configurationType=jdbc
database.jdbc.driverClass=oracle.jdbc.OracleDriver
database.jdbc.connectionURL=jdbc:oracle:thin:@localhost:1521:XE
database.jdbc.username=roller
database.jdbc.password=rollersys10
mail.configurationType=properties
mail.hostName=xxxx
mail.username=xxxx
mail.password=xxxx
log4j.appender.roller.File=C:\\roller.log
errors from roller.log
INFO 2009-06-29 12:33:15,391 JPAPersistenceStrategy:<init> -
openjpa.Log: commons
ERROR 2009-06-29 12:33:15,626 JPAPersistenceStrategy:<init> - ERROR:
creating entity manager
<openjpa-1.1.0-r422266:657916 fatal general error>
org.apache.openjpa.persistence.PersistenceException: There was an
error when invoking the static newInstance method on the named
factory class "kodo.jdbc.kernel.KodoJDBCBrokerFactory". See the
nested exception for details.
at
org.apache.openjpa.kernel.Bootstrap.newBrokerFactory(Bootstrap.java:
67)
at
org
.apache
.openjpa
.persistence
.PersistenceProviderImpl
.getBrokerFactory(PersistenceProviderImpl.java:102)
at
org
.apache
.openjpa
.persistence
.PersistenceProviderImpl
.createEntityManagerFactory(PersistenceProviderImpl.java:81)
at
org
.apache
.openjpa
.persistence
.PersistenceProviderImpl
.createEntityManagerFactory(PersistenceProviderImpl.java:109)
at
org
.apache
.openjpa
.persistence
.PersistenceProviderImpl
.createEntityManagerFactory(PersistenceProviderImpl.java:53)
at
javax
.persistence.Persistence.createEntityManagerFactory(Persistence.java:
83)
errors from DefaultServer.log (weblogic)
####<Jun 29, 2009 12:33:15 PM CDT> <Warning> <HTTP> <IS-TESTST-PC>
<DefaultServer> <[STANDBY] ExecuteThread: '1' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <>
<1246296795672> <BEA-101162> <User defined listener
org.apache.roller.weblogger.ui.core.RollerContext failed:
com.google.inject.ProvisionException: Error while locating instance
bound to
org.apache.roller.weblogger.business.jpa.JPAPersistenceStrategy
for member at
org
.apache
.roller
.weblogger
.business.jpa.JPAWebloggerImpl.<init>(JPAWebloggerImpl.java:77).
com.google.inject.ProvisionException: Error while locating instance
bound to
org.apache.roller.weblogger.business.jpa.JPAPersistenceStrategy
for member at
org
.apache
.roller
.weblogger
.business.jpa.JPAWebloggerImpl.<init>(JPAWebloggerImpl.java:77)
at com.google.inject.InjectorImpl
$SingleParameterInjector.inject(InjectorImpl.java:646)
at com.google.inject.InjectorImpl.getParameters(InjectorImpl.java:666)
at
com
.google
.inject.ConstructorInjector.construct(ConstructorInjector.java:140)
java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
at
com
.google
.inject.ConstructorInjector.construct(ConstructorInjector.java:161)
at com.google.inject.InjectorImpl
$ImplicitBinding.get(InjectorImpl.java:1006)
at com.google.inject.ProviderToInternalFactoryAdapter
$1.call(ProviderToInternalFactoryAdapter.java:37)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:756)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun
.reflect
.NativeConstructorAccessorImpl
.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun
.reflect
.DelegatingConstructorAccessorImpl
.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.google.inject.DefaultConstructionProxyFactory
$1.newInstance(DefaultConstructionProxyFactory.java:46)
org.apache.roller.weblogger.WebloggerException
at
org
.apache
.roller
.weblogger
.business
.jpa.JPAPersistenceStrategy.<init>(JPAPersistenceStrategy.java:126)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun
.reflect
.NativeConstructorAccessorImpl
.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun
.reflect
.DelegatingConstructorAccessorImpl
.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.google.inject.DefaultConstructionProxyFactory
$1.newInstance(DefaultConstructionProxyFactory.java:46)
at
com
.google
.inject.ConstructorInjector.construct(ConstructorInjector.java:142)
####<Jun 29, 2009 12:33:15 PM CDT> <Warning> <HTTP> <IS-TESTST-PC>
<DefaultServer> <[STANDBY] ExecuteThread: '1' for queue:
'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <>
<1246296795688> <BEA-101162> <User defined listener
org.apache.roller.weblogger.ui.core.RollerContext failed:
java.lang.NullPointerException.
java.lang.NullPointerException
at
org
.apache
.roller
.weblogger.ui.core.RollerContext.contextDestroyed(RollerContext.java:
215)
at weblogic.servlet.internal.EventsManager
$FireContextListenerAction.run(EventsManager.java:466)
at
weblogic
.security
.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at
weblogic
.servlet
.internal
.EventsManager.notifyContextDestroyedEvent(EventsManager.java:194)
####<Jun 29, 2009 12:33:15 PM CDT> <Warning> <Deployer> <IS-TESTST-
PC> <DefaultServer> <[STANDBY] ExecuteThread: '1' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <>
<1246296795688> <BEA-149251> <Operation Unprepare failed for
application 'roller'. Error - java.lang.IllegalAccessError: tried to
access class
org.apache.openjpa.lib.util.concurrent.ConcurrentReferenceHashMap$1
from class
org.apache.openjpa.lib.util.concurrent.ConcurrentReferenceHashMap
java.lang.IllegalAccessError: tried to access class
org.apache.openjpa.lib.util.concurrent.ConcurrentReferenceHashMap$1
from class
org.apache.openjpa.lib.util.concurrent.ConcurrentReferenceHashMap
at
org
.apache
.openjpa
.lib
.util
.concurrent
.ConcurrentReferenceHashMap.keySet(ConcurrentReferenceHashMap.java:
584)
at
org
.apache
.commons.collections.set.MapBackedSet.iterator(MapBackedSet.java:97)
at
org
.apache
.openjpa
.lib
.util
.concurrent
.ConcurrentReferenceHashSet.iterator(ConcurrentReferenceHashSet.java:
94)