glassfish和h2database问题 [英] glassfish and h2database problem

查看:98
本文介绍了glassfish和h2database问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我构建一个基于java的应用程序。使用hibernate JPA,spring和h2database。我在内存模式下使用h2database,这里是jdbc属性:

  jdbc.url = jdbc \:h2\:mem \:test_db; DB_CLOSE_DELAY\ = -1 
jdbc.driverClassName = org.h2.Driver
jdbc.username = sa
jdbc.password =

我在dataSource.xml中使用的值如下:

 < bean id =basicDataSourceclass =org.apache.commons.dbcp.BasicDataSourcedestroy-method =close> 
< property name =driverClassNamevalue =$ {jdbc.driverClassName}/>
< property name =urlvalue =$ {jdbc.url}/>
< property name =usernamevalue =$ {jdbc.username}/>
< property name =passwordvalue =$ {jdbc.password}/>
< / bean>

我使用两个应用程序上下文,第一个:

 < context:property-placeholder location =classpath *:META-INF / spring / *。properties/> 
< context:component-scan base-package =com.test.webtest>
< context:exclude-filter type =annotationexpression =org.springframework.stereotype.Controller/>
< context:exclude-filter type =annotationexpression =org.springframework.stereotype.Repository/>
< / context:component-scan>
< import resource =basicDataSource.xml/>

和第二个:

 < context:component-scan base-package =com.test.webtest.persistence.dao.jpa/> 
< bean id =entityManagerFactory
class =org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean>
< property name =dataSourceref =basicDataSource/>
< / bean>

< bean id =transactionManager
class =org.springframework.orm.jpa.JpaTransactionManager>
< property name =entityManagerFactoryref =entityManagerFactory/>
< / bean>

< tx:注解驱动模式=aspectjtransaction-manager =transactionManager/>

我加载了这两个应用程序。这样的web.xml文件中的上下文:

 < context-param> 
< param-name> contextConfigLocation< / param-name>
< param-value>
classpath *:META-INF / spring / applicationContext.xml $ b $ classpath *:META-INF / spring / applicationContext-persistence.xml
< / param-value>
< / context-param>

最后,这里是我的persistence.xml配置:

 < persistence-unit name =basicPersistenceUnittransaction-type =JTA> 
< provider> org.hibernate.ejb.HibernatePersistence< / provider>
<属性>
< property name =hibernate.dialectvalue =org.hibernate.dialect.H2Dialect/>
< property name =hibernate.hbm2ddl.autovalue =create/>
< property name =hibernate.connection.charSetvalue =UTF-8/>
< property name =hibernate.show_sqlvalue =true/>
< / properties>
< / persistence-unit>

但是,当我尝试将此jar部署到应用容器时,发生了下一个错误:

  [#| 2011-06-23T14:41:42.769 + 0200 |警告| glassfish3.1 | org.apache.catalina.connector.Request | _ThreadID = 22; _ThreadName = Thread-2; | PWC4011:由于请求参数已被读取,或ServletRequest.getReader()已被调用|#] $ b,无法将请求字符编码设置为UTF-8的上下文
$ b [#| 2011-06-23T14:41:42.909 + 0200 | INFO | glassfish3.1 | javax.enterprise.system.std.com.sun.enterprise.server.logging | _ThreadID = 88; _ThreadName = Thread-2; | ===== GUI部署:needUploadToTempfile ====== |#]

[#| 2011-06-23T14:41:42.925 + 0200 | INFO | glassfish3 .1 | org.glassfish.admingui | _ThreadID = 22; _ThreadName = Thread-2; | ======= uploadFileName = webFrontend-1.0-SNAPSHOT.war |#]

[#| 2011-06-23T14:41:42.928 + 0200 | INFO | glassfish3.1 | javax.enterprise.system.std.com.sun.enterprise.server.logging | _ThreadID = 88; _ThreadName =线程2; | === == filePa th = / private / var / folders / m + / m + kO87fOGXS5o7r3iUMGR ++++ TI / -Tmp- / webFrontend-18640431189413583797.0-SNAPSHOT.war origPath = webFrontend-1 |#]

[#| org.hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化org.hibernate.validator的一个实例.engine.resolver.JPATraversableResolver。|#]

[#| 2011-06-23T14:41:47.964 + 0200 | SEVERE | glassfish3.1 | javax.enterprise.system.std.com.sun .enterprise.server.logging | _ThreadID = 88; _ThreadName = Thread-2; | SLF4J:无法加载类org.slf4j.impl.StaticLoggerBinder。|#]

[#| 2011- 06-23T14:41:47.964 + 0200 | SEVERE | glassfish3.1 | javax.enterprise.system.std.com.sun.enterprise.server.logging | _ThreadID = 88; _ThreadName =线程2; | SLF4J:默认为no操作(NOP)记录器实现|#]

[#| 2011-06-23T14:41:47.965 + 0200 | SEVERE | glassfish3.1 | javax.enterprise.system.std.com.sun .enterprise.server.logging | _ThreadID = 88; _ThreadName = THRE ad-2; | SLF4J:有关详细信息,请参见http://www.slf4j.org/codes.html#StaticLoggerBinder。|#]

[#| 2011-06-23T14:41:49.078 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName =螺纹-2; |。实例化org.hibernate.validator.engine.resolver.JPATraversableResolver的实例|# ]

[#| 2011-06-23T14:41:49.155 + 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread- 2; |实例化org.hibernate.validator.engine.resolver.JPATraversableResolver的实例。|#]

[#| 2011-06-23T14:41:49.173 + 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化org.hibernate.validator.engine.resolver.JPATraversableResolver的一个实例。|#]

[#| 2011-06-23T14:41:49.393 + 0200 |警告| glassfish3.1 | javax.enterprise.resource.resourceadapter.com.sun.enterprise.resource。 allocator | _ThreadID = 88; _ThreadName = Thread-2; | RAR5038:为池DerbyPool创建资源时出现意外的异常。异常:javax.resource.spi.ResourceAllocationException:无法分配连接,因为:java.net.ConnectException:在消息连接被拒绝的情况下连接到服务器本地主机的端口1527时出错。|#]

[#| 2011-06-23T14:41:49.398 + 0200 |警告| glassfish3.1 | javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors | _ThreadID = 88; _ThreadName =线程2; | RAR5117:无法获取/从连接池[DerbyPool]创建连接。原因:com.sun.appserv.connectors.internal.api.PoolingException:由于以下原因无法分配连接:java.net.ConnectException:在端口1527上连接到服务器本地主机时出现连接被拒绝错误。|#]

[#| 2011-06-23T14:41:49.401 + 0200 | WARNING | glassfish3.1 | javax.enterprise.resource.resourceadapter.com.sun.gjc.spi | _ThreadID = 88; _ThreadName = Thread-2; | RAR5114:分配连接时出错:[分配连接时出错。原因:无法分配连接,因为:java.net.ConnectException:连接到端口1527上的服务器本地主机时出现连接被拒绝的错误。] |#]

[#| 2011-06-23T14:41 :49.740 + 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化org.hibernate.validator.engine.resolver.JPATraversableResolver的一个实例。 |#]

[#| 2011-06-23T14:41:49.745 + 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化org.hibernate.validator.engine.resolver.JPATraversableResolver的实例。|#]

[#| 2011-06-23T14:41:49.758 + 0200 |警告| glassfish3 .1 | javax.enterprise.resource.resourceadapter.com.sun.enterprise.resource.allocator | _ThreadID = 88; _ThreadName = Thread-2; | RAR5038:为池DerbyPool创建资源时发生意外的异常。异常:javax.resource.spi.ResourceAllocationException:无法分配连接,因为:java.net.ConnectException:在消息连接被拒绝的情况下连接到服务器本地主机的端口1527时出错。|#]

[#| 2011-06-23T14:41:49.759 + 0200 |警告| glassfish3.1 | javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors | _ThreadID = 88; _ThreadName = Thread-2; | RAR5117:无法获取/从连接池[DerbyPool]创建连接。原因:com.sun.appserv.connectors.internal.api.PoolingException:由于以下原因无法分配连接:java.net.ConnectException:在端口1527上连接到服务器本地主机时出现连接被拒绝错误。|#]

[#| 2011-06-23T14:41:49.760 + 0200 |警告| glassfish3.1 | javax.enterprise.resource.resourceadapter.com.sun.gjc.spi | _ThreadID = 88; _ThreadName = Thread-2; | RAR5114:分配连接时出错:[分配连接时出错。原因:无法分配连接,因为:java.net.ConnectException:连接到端口1527上的服务器本地主机时出现连接被拒绝的错误。] |#]

[#| 2011-06-23T14:41 :50.108 + 0200 | INFO | glassfish3.1 | javax.enterprise.system.container.web.com.sun.enterprise.web | _ThreadID = 88; _ThreadName = Thread-2; | PWC1412:WebModule [null] ServletContext.log ):初始化Spring根WebApplicationContext |#]

[#| 2011-06-23T14:41:50.109 + 0200 | INFO | glassfish3.1 | org.springframework.web.context.ContextLoader | _ThreadID = 22; _ThreadName = Thread-2; | Root WebApplicationContext:初始化开始|#]

[#| 2011-06-23T14:41:50.278 + 0200 | INFO | glassfish3.1 | org.springframework。 web.context.support.XmlWebApplicationContext | _ThreadID = 22; _ThreadName = Thread-2; |刷新根WebApplicationContext:启动日期[Thu Jun 23 14:41:50 CEST 2011];上下文层次根|#]

[#| 2011-06-23T14:41:50.483 + 0200 | INFO | glassfish3.1 | org.springframework.beans.factory.xml.XmlBeanDefinitionReader | _ThreadID = 22; _ThreadName = Thread-2; |从URL加载XML bean定义[file:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring /applicationContext.xml]|#]

[#| 2011-06-23T14:41:50.747 + 0200 | INFO | glassfish3.1 | org.springframework.context.annotation.ClassPathBeanDefinitionScanner | _ThreadID = 22 ; _ThreadName = Thread-2; |发现并支持组件扫描的JSR-250'javax.annotation.ManagedBean |#]

[#| 2011-06-23T14:41:50.750 + 0200 | INFO | glassfish3.1 | org.springframework.context.annotation.ClassPathBeanDefinitionScanner | _ThreadID = 22; _ThreadName = Thread-2; |找到并支持组件扫描的JSR-330'javax.inject.Named'注释|#]

[#| 2011-06-23T14:41:50.892 + 0200 | INFO | glassfish3.1 | org.springframework.beans.factory.xml.XmlBeanDe finitionReader | _ThreadID = 22; _ThreadName =线程2; |从URL [文件加载XML bean定义:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META -INF / spring / basicDataSource.xml] |#]

[#| 2011-06-23T14:41:50.916 + 0200 | INFO | glassfish3.1 | org.springframework.beans.factory.xml .XmlBeanDefinitionReader | _ThreadID = 22; _ThreadName =线程2; |从URL [文件加载XML bean定义:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/ META-INF / spring / applicationContext-persistence.xml] |#]

[#| 2011-06-23T14:41:50.976 + 0200 | INFO | glassfish3.1 | org.springframework.context。 annotation.ClassPathBeanDefinitionScanner | _ThreadID = 22; _ThreadName = Thread-2; |找到并支持组件扫描的JSR-250'javax.annotation.ManagedBean |#]

[#| 2011-06-23T14 :41:50.978 + 0200 |信息| glassfish3.1 | org.springframework.context.annotation.ClassPathBeanDefinitionScanner | _ThreadID = 22; _ThreadName = Thread-2; |找到并支持组件扫描的JSR-330'javax.inject.Named'注释|#]

[#| 2011-06-23T14:41:51.501 +0200 | INFO | glassfish3.1 | org.springframework.beans.factory.config.PropertyPlaceholderConfigurer | _ThreadID = 22; _ThreadName = Thread-2; |从文件加载属性文件[/ opt / glassfish3 / glassfish3 / glassfish / domains / domain1 /applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring/database.properties]|#]

[#| 2011-06-23T14:41:51.515 + 0200 | INFO | glassfish3.1 | org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor | _ThreadID = 22; _ThreadName =线程2; | JSR-330 'javax.inject.Inject' 注释发现支持自动装配|#]

[#| 2011-06-23T14:41:51.579 + 0200 | INFO | glassfish3.1 | org.springframework.beans.factory.support.DefaultListableBeanFactory | _ThreadID = 22; _ThreadName = Thread-2; |在org.springframework.beans.factory.support.DefaultListableBeanFactory@174faf5中预先实例化单例:定义bean [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework .context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,的BasicDataSource,PersonDao的,的entityManagerFactory,transactionManager的,org.springframework.transaction.config.internalTransactionAspect];根工厂层次结构|#]

[#| 2011-06-23T14:41:51.795 + 0200 | INFO | glassfish3.1 | org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean | _ThreadID = 22; _ThreadName = Thread-2; |为持久性单元构建JPA容器EntityManagerFactory'basicPersistenceUnit'|#]

[#| 2011-06-23T14:41:51.802 + 0200 | INFO | glassfish3.1 | org .hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化org.hibernate.validator.engine.resolver.JPATraversableResolver的一个实例。|#]

[ #| 2011-06-23T14:41:51.808 + 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化一个org.hibernate .validator.engine.resolver.JPATraversableResolver。|#]

[#| 2011-06-23T14:41:51.811 + 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine.resolver .DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化org.hi的实例bernate.validator.engine.resolver.JPATraversableResolver。|#]

[#| 2011-06-23T14:41:52.592 + 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine。 resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化org.hibernate.validator.engine.resolver.JPATraversableResolver的一个实例。|#]

[#| 2011-06-23T14 :41:52.594 + 0200 | INFO | glassfish3.1 | org.hibernate.validator.engine.resolver.DefaultTraversableResolver | _ThreadID = 22; _ThreadName = Thread-2; |实例化org.hibernate.validator.engine.resolver的一个实例。 JPATraversableResolver。|#]

[#| 2011-06-23T14:41:52.615 + 0200 | INFO | glassfish3.1 | org.springframework.beans.factory.support.DefaultListableBeanFactory | _ThreadID = 22; _ThreadName =线程2; |销毁在org.springframework.beans.factory.support.DefaultListableBeanFactory@174faf5单身:定义豆[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,org.springframework.context.annotation.internalConfigurationAnnota tionProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,的BasicDataSource,PersonDao的,entityManagerFactory的,transactionManager的, org.springframework.transaction.config.internalTransactionAspect];工厂层级根|#]

[#| 2011-06-23T14:41:52.657 + 0200 | SEVERE | glassfish3.1 | org.springframework.web.context.ContextLoader | _ThreadID = 22; _ThreadName = Thread-2; |上下文初始化失败
org.springframework.beans.factory.BeanCreationException:创建名为'PersonDao'的bean时出错:持久性依赖项注入失败;嵌套的例外是org.springframework.beans.factory.BeanCreationException:错误创建名称为豆的entityManagerFactory在URL中定义[文件:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB- INF / classes / META-INF / spring / applicationContext-persistence.xml]:调用init方法失败;嵌套异常是javax.persistence.PersistenceException:[PersistenceUnit:basicPersistenceUnit]无法在org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues构建的EntityManagerFactory
(PersistenceAnnotationBeanPostProcessor.java:341)在有机
。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
。在组织。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
在org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:291)
。在组织.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
a t org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)

org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)在org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
在org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
。在组织.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web .context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
在org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
在org.apache.catalina.core.Standa rdContext.contextListenerStart(StandardContext.java:4690)
at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:534)
at org.apache.catalina.core.StandardContext.start( StandardContext.java:5305)
at com.sun.enterprise.web.WebModule.start(WebModule.java:500)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java: 917)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:755)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1980)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1630)
at com .sun.enterprise.web.WebApplication.start(WebApplication.java:100)
在org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
在org.glassfish.internal .data.ModuleInfo.start(ModuleInfo.java:269)
在org.glassfish.internal .data.ApplicationInfo.start(ApplicationInfo.java:286)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
at com.sun.enterprise.v3 .server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
at com.sun.enterprise.v3.admin .CommandRunnerImpl $ 1.execute(CommandRunnerImpl.java:355)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
at com.sun.enterprise.v3。 admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access $ 1200(CommandRunnerImpl.java:96)
at com.sun.enterprise.v3 .admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1247)
at com.sun.enterprise.v3.admin.CommandRunnerImpl $ ExecutionContext.execute(CommandRunnerImpl.java:1235)
at org.glassfish .admingui.common.util。 LocalDeploymentFacility $ LocalDFCommandRunner.run(LocalDeploymentFactory.java:143)
位于org.glassfish.deployment.client.AbstractDeploymentFacility.deploy(AbstractDeploymentFacility.java:406)
位于org.glassfish.admingui.common.util。 DeployUtil.invokeDeploymentFacility(DeployUtil.java:100)
位于org.glassfish.admingui.common.util.DeployUtil.deploy(DeployUtil.java:76)
,位于org.glassfish.admingui.common.handlers。 DeploymentHandler.deploy(DeploymentHandler.java:191)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
。在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jsftemplating.layout.descriptors。 handler.Handler.invoke(Handler.java:442)
at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(Layout ElementBase.java:420)
在com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394)
在com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers( CommandActionListener.java:150)
at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:98)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java: 88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at com在javax.faces.component上使用
。 .UIViewRoot.processApplication(UIViewRoot.java:1259)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
at com.sun.faces.lifecyc le.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service( FacesServlet.java:409)在org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534

在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 343)
。在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
。在com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:223)在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)

在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache 。猫alina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:600)
at com.sun.enterprise.web。 WebPipeline.invoke(WebPipeline.java:96)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:228)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java: 822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)$ b $ com在com.sun.grizzly.http.Defa ultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java: 104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask .run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool $ Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool $ Worker .run(AbstractThreadPool.java:513)
在java.lang.Thread.run(Thread.java:680)
引起:org.springframework.beans.factory.BeanCreationException:创建bean时出错名为 'entityManagerFactory的' 在URL中定义[文件:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring/applicationContext-persistence.xml] :调用init方法失败;嵌套异常是javax.persistence.PersistenceException:[PersistenceUnit:basicPersistenceUnit]无法在组织构建在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
的EntityManagerFactory
。 springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org。 springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org .springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)$ or
at org.springframework.beans.factory.support.Ab在org.springframework.orm.jpa.support上
org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:529)
。 PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:495)
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor $ PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:656)
at org.springframework.orm.jpa。 support.PersistenceAnnotationBeanPostProcessor $ PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:629)维持在org.springframework org.springframework.beans.factory.annotation.InjectionMetadata $ InjectedElement.inject(InjectionMetadata.java:156)

。 beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
at org.springframewo rk.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:338)
... 89 more

我在日志开始时发现了一条警告。有一些关于拒绝连接到端口1527.我的问​​题是,我必须配置Glassfish上的JDBC连接池使用内存h2database,或者问题是在别的地方吗?

$ b $ pre $ javax.persistence.PersistenceException:[PersistenceUnit: basicPersistenceUnit]无法构建EntityManagerFactory

并查看您的persistence.xml,我认为您应该尝试在其中插入数据库配置属性。我告诉你这是基于JPA的其他经验,但与Spring没有任何关系(正如我在其他配置文件中看到的那样,与dataSource绑定在一起)。

快速查找它,我发现你有两种方法来使用Spring和JPA;更推荐的是你开始使用LocalContainerEntityManagerFactoryBean的那个,但不用指向dataSource,使用persistence.xml文件让它进入JPA。

请参阅此翻译版教程以获取更多信息: http://translate.google.com.br /translate?hl=en&sl=pt&tl=en&u=http%3A%2F%2Ffabiolnm.blogspot.com%2F2009%2F11%2Fintegracao-spring-x-jpa.html


I build an java based app. using hibernate JPA, spring and h2database. I using h2database in memory mode, here is the jdbc properties:

jdbc.url=jdbc\:h2\:mem\:test_db;DB_CLOSE_DELAY\=-1
jdbc.driverClassName=org.h2.Driver
jdbc.username=sa
jdbc.password=

This values I'm using in dataSource.xml like this:

<bean id="basicDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}"/>
</bean>

I'm using two app context, first one:

<context:property-placeholder location="classpath*:META-INF/spring/*.properties"/>
<context:component-scan base-package="com.test.webtest">
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>
<import resource="basicDataSource.xml"/>

and the second one:

<context:component-scan base-package="com.test.webtest.persistence.dao.jpa"/>
<bean id="entityManagerFactory"
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="basicDataSource"/>
</bean>

<bean id="transactionManager"
      class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<tx:annotation-driven mode="aspectj" transaction-manager="transactionManager"/>

I loaded this two app. contexts in web.xml file like this:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath*:META-INF/spring/applicationContext.xml
        classpath*:META-INF/spring/applicationContext-persistence.xml
    </param-value>
</context-param>

Finally here is my persistence.xml config:

<persistence-unit name="basicPersistenceUnit" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
        <property name="hibernate.hbm2ddl.auto" value="create"/>
        <property name="hibernate.connection.charSet" value="UTF-8"/>
        <property name="hibernate.show_sql" value="true"/>
    </properties>
</persistence-unit>

But when I tried to deploy this jar to app container, a next error occured:

[#|2011-06-23T14:41:42.769+0200|WARNING|glassfish3.1|org.apache.catalina.connector.Request|_ThreadID=22;_ThreadName=Thread-2;|PWC4011: Unable to set request character encoding to UTF-8 from context , because request parameters have already been read, or ServletRequest.getReader() has already been called|#]

[#|2011-06-23T14:41:42.909+0200|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=88;_ThreadName=Thread-2;|===== GUI deployment: needUploadToTempfile ======|#]

[#|2011-06-23T14:41:42.925+0200|INFO|glassfish3.1|org.glassfish.admingui|_ThreadID=22;_ThreadName=Thread-2;|======= uploadFileName=webFrontend-1.0-SNAPSHOT.war|#]

[#|2011-06-23T14:41:42.928+0200|INFO|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=88;_ThreadName=Thread-2;|===== filePath=/private/var/folders/m+/m+kO87fOGXS5o7r3iUMGR++++TI/-Tmp-/webFrontend-18640431189413583797.0-SNAPSHOT.war origPath=webFrontend-1|#]

[#|2011-06-23T14:41:47.456+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:47.964+0200|SEVERE|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=88;_ThreadName=Thread-2;|SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".|#]

[#|2011-06-23T14:41:47.964+0200|SEVERE|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=88;_ThreadName=Thread-2;|SLF4J: Defaulting to no-operation (NOP) logger implementation|#]

[#|2011-06-23T14:41:47.965+0200|SEVERE|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=88;_ThreadName=Thread-2;|SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.|#]

[#|2011-06-23T14:41:49.078+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:49.155+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:49.173+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:49.393+0200|WARNING|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.enterprise.resource.allocator|_ThreadID=88;_ThreadName=Thread-2;|RAR5038:Unexpected exception while creating resource for pool DerbyPool. Exception : javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.|#]

[#|2011-06-23T14:41:49.398+0200|WARNING|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors|_ThreadID=88;_ThreadName=Thread-2;|RAR5117 : Failed to obtain/create connection from connection pool [ DerbyPool ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.|#]

[#|2011-06-23T14:41:49.401+0200|WARNING|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.gjc.spi|_ThreadID=88;_ThreadName=Thread-2;|RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.]|#]

[#|2011-06-23T14:41:49.740+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:49.745+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:49.758+0200|WARNING|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.enterprise.resource.allocator|_ThreadID=88;_ThreadName=Thread-2;|RAR5038:Unexpected exception while creating resource for pool DerbyPool. Exception : javax.resource.spi.ResourceAllocationException: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.|#]

[#|2011-06-23T14:41:49.759+0200|WARNING|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.enterprise.connectors|_ThreadID=88;_ThreadName=Thread-2;|RAR5117 : Failed to obtain/create connection from connection pool [ DerbyPool ]. Reason : com.sun.appserv.connectors.internal.api.PoolingException: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.|#]

[#|2011-06-23T14:41:49.760+0200|WARNING|glassfish3.1|javax.enterprise.resource.resourceadapter.com.sun.gjc.spi|_ThreadID=88;_ThreadName=Thread-2;|RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.]|#]

[#|2011-06-23T14:41:50.108+0200|INFO|glassfish3.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=88;_ThreadName=Thread-2;|PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext|#]

[#|2011-06-23T14:41:50.109+0200|INFO|glassfish3.1|org.springframework.web.context.ContextLoader|_ThreadID=22;_ThreadName=Thread-2;|Root WebApplicationContext: initialization started|#]

[#|2011-06-23T14:41:50.278+0200|INFO|glassfish3.1|org.springframework.web.context.support.XmlWebApplicationContext|_ThreadID=22;_ThreadName=Thread-2;|Refreshing Root WebApplicationContext: startup date [Thu Jun 23 14:41:50 CEST 2011]; root of context hierarchy|#]

[#|2011-06-23T14:41:50.483+0200|INFO|glassfish3.1|org.springframework.beans.factory.xml.XmlBeanDefinitionReader|_ThreadID=22;_ThreadName=Thread-2;|Loading XML bean definitions from URL [file:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring/applicationContext.xml]|#]

[#|2011-06-23T14:41:50.747+0200|INFO|glassfish3.1|org.springframework.context.annotation.ClassPathBeanDefinitionScanner|_ThreadID=22;_ThreadName=Thread-2;|JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning|#]

[#|2011-06-23T14:41:50.750+0200|INFO|glassfish3.1|org.springframework.context.annotation.ClassPathBeanDefinitionScanner|_ThreadID=22;_ThreadName=Thread-2;|JSR-330 'javax.inject.Named' annotation found and supported for component scanning|#]

[#|2011-06-23T14:41:50.892+0200|INFO|glassfish3.1|org.springframework.beans.factory.xml.XmlBeanDefinitionReader|_ThreadID=22;_ThreadName=Thread-2;|Loading XML bean definitions from URL [file:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring/basicDataSource.xml]|#]

[#|2011-06-23T14:41:50.916+0200|INFO|glassfish3.1|org.springframework.beans.factory.xml.XmlBeanDefinitionReader|_ThreadID=22;_ThreadName=Thread-2;|Loading XML bean definitions from URL [file:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring/applicationContext-persistence.xml]|#]

[#|2011-06-23T14:41:50.976+0200|INFO|glassfish3.1|org.springframework.context.annotation.ClassPathBeanDefinitionScanner|_ThreadID=22;_ThreadName=Thread-2;|JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning|#]

[#|2011-06-23T14:41:50.978+0200|INFO|glassfish3.1|org.springframework.context.annotation.ClassPathBeanDefinitionScanner|_ThreadID=22;_ThreadName=Thread-2;|JSR-330 'javax.inject.Named' annotation found and supported for component scanning|#]

[#|2011-06-23T14:41:51.501+0200|INFO|glassfish3.1|org.springframework.beans.factory.config.PropertyPlaceholderConfigurer|_ThreadID=22;_ThreadName=Thread-2;|Loading properties file from file [/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring/database.properties]|#]

[#|2011-06-23T14:41:51.515+0200|INFO|glassfish3.1|org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor|_ThreadID=22;_ThreadName=Thread-2;|JSR-330 'javax.inject.Inject' annotation found and supported for autowiring|#]

[#|2011-06-23T14:41:51.579+0200|INFO|glassfish3.1|org.springframework.beans.factory.support.DefaultListableBeanFactory|_ThreadID=22;_ThreadName=Thread-2;|Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@174faf5: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,basicDataSource,PersonDao,entityManagerFactory,transactionManager,org.springframework.transaction.config.internalTransactionAspect]; root of factory hierarchy|#]

[#|2011-06-23T14:41:51.795+0200|INFO|glassfish3.1|org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean|_ThreadID=22;_ThreadName=Thread-2;|Building JPA container EntityManagerFactory for persistence unit 'basicPersistenceUnit'|#]

[#|2011-06-23T14:41:51.802+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:51.808+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:51.811+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:52.592+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:52.594+0200|INFO|glassfish3.1|org.hibernate.validator.engine.resolver.DefaultTraversableResolver|_ThreadID=22;_ThreadName=Thread-2;|Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver.|#]

[#|2011-06-23T14:41:52.615+0200|INFO|glassfish3.1|org.springframework.beans.factory.support.DefaultListableBeanFactory|_ThreadID=22;_ThreadName=Thread-2;|Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@174faf5: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,basicDataSource,PersonDao,entityManagerFactory,transactionManager,org.springframework.transaction.config.internalTransactionAspect]; root of factory hierarchy|#]

[#|2011-06-23T14:41:52.657+0200|SEVERE|glassfish3.1|org.springframework.web.context.ContextLoader|_ThreadID=22;_ThreadName=Thread-2;|Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'PersonDao': Injection of persistence dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [file:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring/applicationContext-persistence.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: basicPersistenceUnit] Unable to build EntityManagerFactory
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:341)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1074)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:4690)
    at com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:534)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:5305)
    at com.sun.enterprise.web.WebModule.start(WebModule.java:500)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:917)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:901)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:755)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1980)
    at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1630)
    at com.sun.enterprise.web.WebApplication.start(WebApplication.java:100)
    at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
    at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:269)
    at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:286)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247)
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
    at org.glassfish.admingui.common.util.LocalDeploymentFacility$LocalDFCommandRunner.run(LocalDeploymentFacility.java:143)
    at org.glassfish.deployment.client.AbstractDeploymentFacility.deploy(AbstractDeploymentFacility.java:406)
    at org.glassfish.admingui.common.util.DeployUtil.invokeDeploymentFacility(DeployUtil.java:100)
    at org.glassfish.admingui.common.util.DeployUtil.deploy(DeployUtil.java:76)
    at org.glassfish.admingui.common.handlers.DeploymentHandler.deploy(DeploymentHandler.java:191)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.jsftemplating.layout.descriptors.handler.Handler.invoke(Handler.java:442)
    at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:420)
    at com.sun.jsftemplating.layout.descriptors.LayoutElementBase.dispatchHandlers(LayoutElementBase.java:394)
    at com.sun.jsftemplating.layout.event.CommandActionListener.invokeCommandHandlers(CommandActionListener.java:150)
    at com.sun.jsftemplating.layout.event.CommandActionListener.processAction(CommandActionListener.java:98)
    at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
    at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
    at javax.faces.component.UICommand.broadcast(UICommand.java:300)
    at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:166)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
    at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:223)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    at org.apache.catalina.core.StandardPipeline.doChainInvoke(StandardPipeline.java:600)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:228)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:680)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [file:/opt/glassfish3/glassfish3/glassfish/domains/domain1/applications/webFrontend-1.0-SNAPSHOT/WEB-INF/classes/META-INF/spring/applicationContext-persistence.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: basicPersistenceUnit] Unable to build EntityManagerFactory
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:529)
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:495)
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.resolveEntityManager(PersistenceAnnotationBeanPostProcessor.java:656)
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor$PersistenceElement.getResourceToInject(PersistenceAnnotationBeanPostProcessor.java:629)
    at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:156)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
    at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:338)
    ... 89 more

I noticed a warning at the begin of the log. There are something about refused connection to port 1527. My question is, must I configure a JDBC connection pool on glassfish to using in memory h2database, or the problem is somewhere else?

解决方案

As your main problem is:

javax.persistence.PersistenceException: [PersistenceUnit: basicPersistenceUnit] Unable to build EntityManagerFactory 

and looking at your persistence.xml, I think that you should try to insert the database configuration attributes inside it. I'm telling you this based on other experiences with JPA, but nothing related with Spring (as I saw at the other config files that you bond with the dataSource.)

Rapidly searching about it, I found that you have two ways to use Spring and JPA; and the more recommended is the one you starts to use "LocalContainerEntityManagerFactoryBean", but without to pointing to the "dataSource", letting it to JPA using the "persistence.xml" file.

Look at this translated tutorial for more information: http://translate.google.com.br/translate?hl=en&sl=pt&tl=en&u=http%3A%2F%2Ffabiolnm.blogspot.com%2F2009%2F11%2Fintegracao-spring-x-jpa.html

这篇关于glassfish和h2database问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆