在JBoss AS 7中,hibernate需要c3p0连接池 [英] Is c3p0 connection pool is required with hibernate in JBoss AS 7

查看:127
本文介绍了在JBoss AS 7中,hibernate需要c3p0连接池的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的项目正处于开始阶段,我在休眠时遇到了一个大问题。我使用hibernate 4.1.8-Final和c3p0 0.9.1.2。

我有以下实体类:



< pre $ @ javax.persistence.Entity
@Table(name =CUSTOMER)
public class Customer extends Entity {

@Transient
private static final long serialVersionUID = 3326144323537452197L;

private String customerId;
私人字符串customerName;
私有布尔激活;

public Customer(){
super();
}

@NaturalId
@Column(name =CUSTOMER_ID,nullable = false)
public String getCustomerId(){
return customerId;
}

public void setCustomerId(String customerId){
this.customerId = customerId;

$ b $ @
@Column(name =CUSTOMER_NAME,nullable = false)
public String getCustomerName(){
return customerName;
}

public void setCustomerName(String customerName){
this.customerName = customerName;


@Column(name =ACTIVE,nullable = false)
public boolean isActive(){
return active;
}

public void setActive(boolean active){
this.active = active;






$ b $ p $你可以看到 customerName 已被设置为 Lob 。现在第一个保存操作给了我下面的错误:

  2012-12-15 01:37:25,670错误[com.edfx。 adb.web.controller.AdminController] java.lang.AbstractMethodError:com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setCharacterStream(ILjava / io / Reader; J)V 
2012-12-15 01:37: 25,670 ERROR [com.edfx.adb.web.controller.AdminController] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-12-15 01:37:25,670错误[com.edfx.adb.web .controller.AdminController] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-12-15 01:37:25,670错误[com.edfx.adb.web.controller.AdminController] at sun .reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-12-15 01:37:25,670错误[com.edfx.adb.web.controller.AdminController]在java.lang.reflect.Method。 invoke(Method.java:601)
2012-12-15 01:37:25,670错误[com.edfx.adb.web.controller.AdminController] at org.hibe rgan.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
2012-12-15 01:37:25,670错误[com.edfx.adb.web.controller.AdminController] at org .hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
2012-12-15 01:37:25,670错误[com.edfx.adb.web.controller.AdminController] at $ Proxy240.setCharacterStream(Unknown Source)
2012-12-15 01:37:25,670错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.type.descriptor.sql.ClobTypeDescriptor $ 3 $ 1 .doBind(ClobTypeDescriptor.java:83)
2012-12-15 01:37:25,685错误[com.edfx.adb.web.controller.AdminController]位于org.hibernate.type.descriptor.sql.BasicBinder。绑定(BasicBinder.java:92)
2012-12-15 01:37:25,685错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java :280)
2012-12-15 01:37:25,685错误[c om.edfx.adb.web.controller.AdminController] at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:275)
2012-12-15 01:37:25,701错误[com.edfx.adb .web.controller.AdminController] at org.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:57)
2012-12-15 01:37:25,701错误[com.edfx.adb.web.controller。 AdminController] at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2747)
2012-12-15 01:37:25,701错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2722)
2012-12-15 01:37:25,701错误[com.edfx.adb.web.controller.AdminController] at org.hibernate .persister.entity.AbstractEntityPersister $ 4.bindValues(AbstractEntityPersister.java:2929)
2012-12-15 01:37:25,701错误[com.edfx.adb.web.controller.AdminController] org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
2012-12-15 01:37:25,716错误[com.edfx.adb.web.controller.AdminController] at org。 hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2936)
2012-12-15 01:37:25,716 ERROR [com.edfx.adb.web.controller.AdminController] at org.hibernate.persister .entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3447)
2012-12-15 01:37:25,716 ERROR [com.edfx.adb.web.controller.AdminController] at org.hibernate.action.internal。 EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
2012-12-15 01:37:25,716错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.engine.spi.ActionQueue.execute (ActionQueue.java:362)
2012-12-15 01:37:25,716 ERROR [com.edfx.adb.web.controller.AdminController] at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue。 java:203)
20 12-12-15 01:37:25,732错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:183)
2012-12 -15 01:37:25,732错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:167)
2012-12-15 01 :37:25,732错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:320)
2012-12-15 01:37: 25,732 ERROR [com.edfx.adb.web.controller.AdminController] at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:287)
2012-12-15 01:37:25,748错误[ com.edfx.adb.web.controller.AdminController] at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193)
2012-12-15 01:37:25,748错误[com.edfx .adb.web.controller.AdminController] at org.hiberna teevent.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:126)
2012-12-15 01:37:25,748错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.event .internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:204)
2012-12-15 01:37:25,748错误[com.edfx.adb.web.controller.AdminController]位于org.hibernate.event.internal。 DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
2012-12-15 01:37:25,748错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient (DefaultSaveOrUpdateEventListener.java:189)
2012-12-15 01:37:25,763错误[com.edfx.adb.web.controller.AdminController] at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener。 java:49)
2012-12-15 01:37:25,763错误[com.edfx.adb.web.controlle r.AdminController] at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
2012-12-15 01:37:25,763错误[com.edfx.adb.web.controller.AdminController ] at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:756)
2012-12-15 01:37:25,763错误[com.edfx.adb.web.controller.AdminController] at org.hibernate .internal.SessionImpl.save(SessionImpl.java:748)
2012-12-15 01:37:25,779 ERROR [com.edfx.adb.web.controller.AdminController] at org.hibernate.internal.SessionImpl。保存(SessionImpl.java:744)
2012-12-15 01:37:25,779错误[com.edfx.adb.web.controller.AdminController] at com.edfx.adb.dao.base.BaseDao.save (BaseDao.java:21)
2012-12-15 01:37:25,779错误[com.edfx.adb.web.controller.AdminController] at com.edfx.adb.service.CustomerService.addNewCustomer(CustomerService。 java:26)
2012-12-15 01:37:25,779错误[com.edfx.adb.web.controller.AdminController] at sun.refl ect.NativeMethodAccessorImpl.invoke0(本地方法)
2012-12-15 01:37:25,779错误[com.edfx.adb.web.controller.AdminController] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 57)
2012-12-15 01:37:25,794错误[com.edfx.adb.web.controller.AdminController] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012 -12-15 01:37:25,794错误[com.edfx.adb.web.controller.AdminController] at java.lang.reflect.Method.invoke(Method.java:601)
2012-12-15 01 :37:25,794错误[com.edfx.adb.web.controller.AdminController] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
2012-12-15 01:37: 25,794错误[com.edfx.adb.web.controller.AdminController] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
2012-12-15 01:37:25,794错误[或者。com.edfx.adb.web.controller.AdminController] g.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
2012-12-15 01:37:25,794错误[com.edfx.adb.web.controller.AdminController] at org.springframework .transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
2012-12-15 01:37:25,810 ERROR [com.edfx.adb.web.controller.AdminController] at org.springframework.aop。 framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
2012-12-15 01:37:25,810 ERROR [com.edfx.adb.web.controller.AdminController] at org.springframework.aop.framework.JdkDynamicAopProxy .invoke(JdkDynamicAopProxy.java:202)
2012-12-15 01:37:25,810错误[com.edfx.adb.web.controller.AdminController] at $ Proxy236.addNewCustomer(Unknown Source)
2012-12-15 01:37:25,810错误[com.edfx.adb.web.controller.AdminController] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-12-15 01:37:25,810错误[com.edfx.adb.web。 controller.AdminController]在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-12-15 01:37:25,826错误[com.edfx.adb.web.controller.AdminController] at sun。反射.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-12-15 01:37:25,826错误[com.edfx.adb.web.controller.AdminController] at java.lang.reflect.Method.invoke (Method.java:601)
2012-12-15 01:37:25,826 ERROR [com.edfx.adb.web.controller.AdminController] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils。 java:319)
2012-12-15 01:37:25,841错误[com.edfx.adb.web.controller.AdminController] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196 )
2012-12-15 01:37:25,841错误[com.edfx.adb.web.controller.AdminController] at $ Proxy237.addNewCustomer(Unknown Source)
2012-12-15 01:37 :25,841错误[com.edfx.adb.web.controller.AdminController] at com .edfx.adb.web.controller.AdminController.saveCustomer(AdminController.java:25)
2012-12-15 01:37:25,841错误[com.edfx.adb.web.controller.AdminController] at sun。 reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-12-15 01:37:25,841错误[com.edfx.adb.web.controller.AdminController] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 57)
2012-12-15 01:37:25,841错误[com.edfx.adb.web.controller.AdminController] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012 -12-15 01:37:25,857错误[com.edfx.adb.web.controller.AdminController] at java.lang.reflect.Method.invoke(Method.java:601)
2012-12-15 01 :37:25,857错误[com.edfx.adb.web.controller.AdminController] at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
2012-12-15 01:37: 25,857错误[com.edfx.adb.web.controller.AdminController] at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.j ava:278)
2012-12-15 01:37:25,857错误[com.edfx.adb.web.controller.AdminController] at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java :105)
2012-12-15 01:37:25,857错误[com.edfx.adb.web.controller.AdminController] at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:148)
2012-12-15 01:37:25,872错误[com.edfx.adb.web.controller.AdminController] at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
2012-12 -15 01:37:25,872错误[com.edfx.adb.web.controller.AdminController] at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
2012-12-15 01:37 :25,872错误[com.edfx.adb.web.controller.AdminController]在javax.faces.component.UICommand.broadcast(UICommand.java:300)
2012-12-15 01:37:25,872错误[com .edfx.adb.web.controller.AdminController] at javax.faces.component.UIData.broadcast(UIData.java:1093)
2012-12-15 01:37:25,872错误[com.edfx.adb.web.controller.AdminController] at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
2012-12-15 01:37:25,888 ERROR [com.edfx.adb.web.controller.AdminController] at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
2012-12-15 01:37:25,888错误[com.edfx .adb.web.controller.AdminController] at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
2012-12-15 01:37:25,888错误[com.edfx.adb。 web.controller.AdminController] at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
2012-12-15 01:37:25,904错误[com.edfx.adb.web.controller .AdminController] at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
2012-12-15 01:37:25,904错误[com.edfx.adb.web.controller.AdminController]在javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
2012-12-15 01:37:25,904错误[com.edfx.adb.web.controller.AdminC ontroller] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
2012-12-15 01:37:25,904错误[com.edfx.adb.web.controller.AdminController] at org.springframework上的org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
2012-12-15 01:37:25,904错误[com.edfx.adb.web.controller.AdminController] .orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:119)
2012-12-15 01:37:25,919 ERROR [com.edfx.adb.web.controller.AdminController] at org.springframework。 web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
2012-12-15 01:37:25,919错误[com.edfx.adb.web.controller.AdminController] at org.apache.catalina.core .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
2012-12-15 01:37:25,919 ERROR [com.edfx.adb.web.controller.AdminController] at org.apache.catalina.core.ApplicationFilterChain .doFilter(ApplicationFilterChain.java:248)
2012-12-15 01:37:25,919 ERROR [com.edfx.adb.web.controller.AdminController] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:275)
2012-12-15 01:37:25,935 ERROR [com.edfx.adb.web.controller.AdminController] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java :161)
2012-12-15 01:37:25,935错误[com.edfx.adb.web.controller.AdminController] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java: 153)
2012-12-15 01:37:25,935 ERROR [com.edfx.adb.web.controller.AdminController] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
2012-12-15 01:37:25,935错误[com.edfx.adb.web.controller.AdminController] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
2012-12-15 01:37:25,935错误[com.edfx.adb.web.controller.AdminController] a t org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
2012-12-15 01:37:25,950错误[com.edfx.adb.web.controller.AdminController] at org。 apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
2012-12-15 01:37:25,950错误[com.edfx.adb.web.controller.AdminController] at org.apache.coyote .http11.Http11Processor.process(Http11Processor.java:877)
2012-12-15 01:37:25,950错误[com.edfx.adb.web.controller.AdminController] at org.apache.coyote.http11。 Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:671)
2012-12-15 01:37:25,950错误[com.edfx.adb.web.controller.AdminController] at org.apache.tomcat.util.net .JIoEndpoint $ Worker.run(JIoEndpoint.java:930)
2012-12-15 01:37:25,950错误[com.edfx.adb.web.controller.AdminController] at java.lang.Thread.run( Thread.java:722)

简单地说,错误信息是:

  java.lang.AbstractMethodErr或:com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setCharacterStream(ILjava / io / Reader; J)V 

通过使用此错误搜索,我发现第一个链接表示降级到休眠状态4.1.3-最终可以解决问题。这工作。但我的目标是使用最新版本的hibernate。我读到,休眠没有太多的连接池;因为它需要连接池;它会从服务器获取该池。

我的问题是,在JBoss AS 7中运行的生产环境中,有必要使用第三方c3p0;如果不是,我可以删除c3p0;或者有这个问题的解决方案?

解决方案

请更新至c3p0-0.9.2-pre7。它已经成熟 - 除非意外出现,下一个版本将是c3p0-0.9.2 final。 hibernate最近添加了一些JDBC4依赖项。 c3p0还没有完整的JDBC4支持(它会,但是在0.9.2之后完成),但c3p0-0.9.2-pre7支持这些方法来维护hibernate依赖。



0.9.2-pre7是对0.9.1.2的直接替换。只需删除c3p0-0.9.1.2.jar并用BOTH c3p0-0.9.2-pre7.jar和mchange-commons-java-0.2.3.2.jar替换即可。或者只是使用Maven central [groupId:com.mchange,artifactId:c3p0,版本:0.9.2-pre7],并让传递依赖关注其余部分。请参阅文档顶部的 http://www.mchange.com/projects/c3p0/用于下载信息等。

c3p0不是hibernate所必需的。您可以使用其他连接池。但尽管我有偏见,但我认为c3p0是一个不错的选择! (我是c3p0的作者。)


My project is in the beginning stage and I am having a big issue with hibernate. I am using hibernate 4.1.8-Final with c3p0 0.9.1.2.

I have the following entity class:

@javax.persistence.Entity
@Table(name = "CUSTOMER")
public class Customer extends Entity {

    @Transient
    private static final long serialVersionUID = 3326144323537452197L;

    private String customerId;
    private String customerName;
    private boolean active;

    public Customer() {
        super();
    }

    @NaturalId
    @Column(name = "CUSTOMER_ID", nullable = false)
    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    @Lob
    @Column(name = "CUSTOMER_NAME", nullable = false)
    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    @Column(name = "ACTIVE", nullable = false)
    public boolean isActive() {
        return active;
    }

    public void setActive(boolean active) {
        this.active = active;
    }
}

As you can see the customerName has been set to Lob. Now the first save operation gave me following error:

2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController] java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V
2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController]     at java.lang.reflect.Method.invoke(Method.java:601)
2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122)
2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.engine.jdbc.internal.proxy.AbstractProxyHandler.invoke(AbstractProxyHandler.java:81)
2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController]     at $Proxy240.setCharacterStream(Unknown Source)
2012-12-15 01:37:25,670 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.type.descriptor.sql.ClobTypeDescriptor$3$1.doBind(ClobTypeDescriptor.java:83)
2012-12-15 01:37:25,685 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:92)
2012-12-15 01:37:25,685 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:280)
2012-12-15 01:37:25,685 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:275)
2012-12-15 01:37:25,701 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:57)
2012-12-15 01:37:25,701 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2747)
2012-12-15 01:37:25,701 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2722)
2012-12-15 01:37:25,701 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.persister.entity.AbstractEntityPersister$4.bindValues(AbstractEntityPersister.java:2929)
2012-12-15 01:37:25,701 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
2012-12-15 01:37:25,716 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2936)
2012-12-15 01:37:25,716 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3447)
2012-12-15 01:37:25,716 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
2012-12-15 01:37:25,716 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:362)
2012-12-15 01:37:25,716 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:203)
2012-12-15 01:37:25,732 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:183)
2012-12-15 01:37:25,732 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:167)
2012-12-15 01:37:25,732 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:320)
2012-12-15 01:37:25,732 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:287)
2012-12-15 01:37:25,748 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193)
2012-12-15 01:37:25,748 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:126)
2012-12-15 01:37:25,748 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:204)
2012-12-15 01:37:25,748 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
2012-12-15 01:37:25,748 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:189)
2012-12-15 01:37:25,763 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
2012-12-15 01:37:25,763 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
2012-12-15 01:37:25,763 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:756)
2012-12-15 01:37:25,763 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.internal.SessionImpl.save(SessionImpl.java:748)
2012-12-15 01:37:25,779 ERROR [com.edfx.adb.web.controller.AdminController]     at org.hibernate.internal.SessionImpl.save(SessionImpl.java:744)
2012-12-15 01:37:25,779 ERROR [com.edfx.adb.web.controller.AdminController]     at com.edfx.adb.dao.base.BaseDao.save(BaseDao.java:21)
2012-12-15 01:37:25,779 ERROR [com.edfx.adb.web.controller.AdminController]     at com.edfx.adb.service.CustomerService.addNewCustomer(CustomerService.java:26)
2012-12-15 01:37:25,779 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-12-15 01:37:25,779 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-12-15 01:37:25,794 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-12-15 01:37:25,794 ERROR [com.edfx.adb.web.controller.AdminController]     at java.lang.reflect.Method.invoke(Method.java:601)
2012-12-15 01:37:25,794 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
2012-12-15 01:37:25,794 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
2012-12-15 01:37:25,794 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
2012-12-15 01:37:25,794 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
2012-12-15 01:37:25,810 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
2012-12-15 01:37:25,810 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
2012-12-15 01:37:25,810 ERROR [com.edfx.adb.web.controller.AdminController]     at $Proxy236.addNewCustomer(Unknown Source)
2012-12-15 01:37:25,810 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-12-15 01:37:25,810 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-12-15 01:37:25,826 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-12-15 01:37:25,826 ERROR [com.edfx.adb.web.controller.AdminController]     at java.lang.reflect.Method.invoke(Method.java:601)
2012-12-15 01:37:25,826 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
2012-12-15 01:37:25,841 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196)
2012-12-15 01:37:25,841 ERROR [com.edfx.adb.web.controller.AdminController]     at $Proxy237.addNewCustomer(Unknown Source)
2012-12-15 01:37:25,841 ERROR [com.edfx.adb.web.controller.AdminController]     at com.edfx.adb.web.controller.AdminController.saveCustomer(AdminController.java:25)
2012-12-15 01:37:25,841 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-12-15 01:37:25,841 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
2012-12-15 01:37:25,841 ERROR [com.edfx.adb.web.controller.AdminController]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2012-12-15 01:37:25,857 ERROR [com.edfx.adb.web.controller.AdminController]     at java.lang.reflect.Method.invoke(Method.java:601)
2012-12-15 01:37:25,857 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
2012-12-15 01:37:25,857 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
2012-12-15 01:37:25,857 ERROR [com.edfx.adb.web.controller.AdminController]     at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
2012-12-15 01:37:25,857 ERROR [com.edfx.adb.web.controller.AdminController]     at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:148)
2012-12-15 01:37:25,872 ERROR [com.edfx.adb.web.controller.AdminController]     at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
2012-12-15 01:37:25,872 ERROR [com.edfx.adb.web.controller.AdminController]     at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:769)
2012-12-15 01:37:25,872 ERROR [com.edfx.adb.web.controller.AdminController]     at javax.faces.component.UICommand.broadcast(UICommand.java:300)
2012-12-15 01:37:25,872 ERROR [com.edfx.adb.web.controller.AdminController]     at javax.faces.component.UIData.broadcast(UIData.java:1093)
2012-12-15 01:37:25,872 ERROR [com.edfx.adb.web.controller.AdminController]     at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
2012-12-15 01:37:25,888 ERROR [com.edfx.adb.web.controller.AdminController]     at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
2012-12-15 01:37:25,888 ERROR [com.edfx.adb.web.controller.AdminController]     at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
2012-12-15 01:37:25,888 ERROR [com.edfx.adb.web.controller.AdminController]     at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
2012-12-15 01:37:25,904 ERROR [com.edfx.adb.web.controller.AdminController]     at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
2012-12-15 01:37:25,904 ERROR [com.edfx.adb.web.controller.AdminController]     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
2012-12-15 01:37:25,904 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
2012-12-15 01:37:25,904 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
2012-12-15 01:37:25,904 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:119)
2012-12-15 01:37:25,919 ERROR [com.edfx.adb.web.controller.AdminController]     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
2012-12-15 01:37:25,919 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
2012-12-15 01:37:25,919 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
2012-12-15 01:37:25,919 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
2012-12-15 01:37:25,935 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
2012-12-15 01:37:25,935 ERROR [com.edfx.adb.web.controller.AdminController]     at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
2012-12-15 01:37:25,935 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
2012-12-15 01:37:25,935 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
2012-12-15 01:37:25,935 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
2012-12-15 01:37:25,950 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
2012-12-15 01:37:25,950 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
2012-12-15 01:37:25,950 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
2012-12-15 01:37:25,950 ERROR [com.edfx.adb.web.controller.AdminController]     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
2012-12-15 01:37:25,950 ERROR [com.edfx.adb.web.controller.AdminController]     at java.lang.Thread.run(Thread.java:722)

Briefly the error message is:

java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V

By Googling with this error I found that the first link says downgrading to hibernate 4.1.3-Final can solve the issue. And that worked. But my aim is to use latest version of hibernate. I read that hibernate doesn't have much of the connection pooling; cause when it needs connection pool; it will get that pool from the server.

My question is, in a production environment which is running in JBoss AS 7, is it necessary to use third party c3p0; if not I can remove the c3p0; or there is a solution of this issue?

解决方案

please update to c3p0-0.9.2-pre7. It's mature -- unless something unexpected comes up, the next release will be c3p0-0.9.2 final. hibernate recently added some JDBC4 dependencies. c3p0 does not yet have full JDBC4 support (it will, but after 0.9.2 is finalized), but c3p0-0.9.2-pre7 supports these methods to maintain hibernate dependency.

0.9.2-pre7 is a drop-in replacement to 0.9.1.2. simply remove c3p0-0.9.1.2.jar and replace with with BOTH c3p0-0.9.2-pre7.jar and mchange-commons-java-0.2.3.2.jar. or just use Maven central [groupId: com.mchange, artifactId: c3p0, version: 0.9.2-pre7], and let transitive dependency take care of the rest. See the very top of the docs, http://www.mchange.com/projects/c3p0/ for downloading info, etc.

c3p0 is not required with hibernate. you can use other Connection pools. but although i am biased, i think c3p0 is a pretty good choice! (i'm c3p0's author.)

这篇关于在JBoss AS 7中,hibernate需要c3p0连接池的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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