I have been trying for the last 2 days to get Roller to run on Resin 3.0.
No matter how I configure the app I always get the same exception stack
trace (see below). I have tried configuring the database both in the
roller-custom.properties files and as a jndi resource but in either case the
same thing happens. Does anyone have any ideas as to what I can try next?
Roller Version: 4.0 rc8
Resin Version: 3.0.21
Java Version: Sun JDK 5.0.
OS: Windows XP Pro
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>(JPAWeblogge
rImpl.java:77)
at
com.google.inject.InjectorImpl$SingleParameterInjector.inject(InjectorImpl.j
ava:646)
at
com.google.inject.InjectorImpl.getParameters(InjectorImpl.java:666)
at
com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:140
)
at
com.google.inject.InjectorImpl$ImplicitBinding.get(InjectorImpl.java:1006)
at
com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternal
FactoryAdapter.java:37)
at
com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:756)
at
com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFac
toryAdapter.java:35)
at com.google.inject.Scopes$1$1.get(Scopes.java:53)
at
com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProv
iderAdapter.java:41)
at
com.google.inject.BindingBuilderImpl$FactoryProxy.get(BindingBuilderImpl.jav
a:299)
at com.google.inject.InjectorImpl$9$1.call(InjectorImpl.java:708)
at
com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:747)
at com.google.inject.InjectorImpl$9.get(InjectorImpl.java:702)
at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:728)
at
org.apache.roller.weblogger.business.GuiceWebloggerProvider.bootstrap(GuiceW
ebloggerProvider.java:87)
at
org.apache.roller.weblogger.business.WebloggerFactory.bootstrap(WebloggerFac
tory.java:134)
at
org.apache.roller.weblogger.business.WebloggerFactory.bootstrap(WebloggerFac
tory.java:99)
at
org.apache.roller.weblogger.ui.core.RollerContext.contextInitialized(RollerC
ontext.java:156)
at com.caucho.server.webapp.Application.start(Application.java:1647)
at
com.caucho.server.deploy.DeployController.startImpl(DeployController.java:62
1)
at
com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAuto
RedeployAutoStrategy.java:72)
at
com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:
509)
at
com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:153)
at
com.caucho.server.webapp.ApplicationContainer.start(ApplicationContainer.jav
a:670)
at com.caucho.server.host.Host.start(Host.java:420)
at
com.caucho.server.deploy.DeployController.startImpl(DeployController.java:62
1)
at
com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAuto
RedeployAutoStrategy.java:72)
at
com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:
509)
at
com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:153)
at
com.caucho.server.host.HostContainer.start(HostContainer.java:504)
at
com.caucho.server.resin.ServletServer.start(ServletServer.java:971)
at
com.caucho.server.deploy.DeployController.startImpl(DeployController.java:62
1)
at
com.caucho.server.deploy.AbstractDeployControllerStrategy.start(AbstractDepl
oyControllerStrategy.java:56)
at
com.caucho.server.deploy.DeployController.start(DeployController.java:517)
at com.caucho.server.resin.ResinServer.start(ResinServer.java:546)
at com.caucho.server.resin.Resin.init(Resin.java)
at com.caucho.server.resin.Resin.main(Resin.java:625)
Caused by: 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(ProviderToInternal
FactoryAdapter.java:37)
at
com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:756)
at
com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFac
toryAdapter.java:35)
at com.google.inject.Scopes$1$1.get(Scopes.java:53)
at
com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProv
iderAdapter.java:41)
at
com.google.inject.BindingBuilderImpl$ImplicitImplementation.get(BindingBuild
erImpl.java:334)
at
com.google.inject.InjectorImpl$SingleParameterInjector.inject(InjectorImpl.j
ava:640)
... 36 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcces
sorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at
com.google.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConst
ructionProxyFactory.java:46)
at
com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:142
)
... 44 more
Caused by: java.lang.UnsupportedOperationException
at
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85
)
at
org.apache.roller.weblogger.business.jpa.JPAPersistenceStrategy.<init>(JPAPe
rsistenceStrategy.java:123)
I'm running a very minimal Resin configuration:
<host id="" root-directory=".">
<web-app id="/roller" document-directory="webapps/roller">
<listener>
<listener-class>com.caucho.jsp.JspPrecompileListener</listener-class>
<init>
<extension>jsp</extension>
<extension>jspx</extension>
</init>
</listener>
<database>
<jndi-name>jdbc/rollerdb</jndi-name>
<driver>
<type>com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource</type>
<url>jdbc:mysql://jasmine.bstage.ca:3306/rollerdb?autoReconnect=true</url>
<user>roller_user</user>
<password>xxxxx</password>
</driver>
</database>
<resource jndi-name="mail/Session" type="javax.mail.Session">
<init>
<mail.transport.protocol>smtp</mail.transport.protocol>
<mail.host>mail.bstage.ca</mail.host>
<mail.user>[EMAIL PROTECTED]</mail.user>
<mail.password>xxxxxx</mail.password>
</init>
</resource>
</web-app>
</host>
And here is my roller-custom.properties file:
installation.type=auto
database.configurationType=jndi
database.jndi.name=jdbc/rollerdb
mail.configurationType=jndi
mail.jndi.name=mail/Session
Chris Hoefgen
Senior Software Engineer
Backstage Technologies Inc
www.bstage.ca
P: 250.384.2048
F: 250.380.4096
[EMAIL PROTECTED]