【发布时间】:2021-11-12 20:29:50
【问题描述】:
我之前开发的应用程序使用的是 spring 和 hibernate 3。我已将应用程序升级到 spring 4.1.6 和 hibernate 4.3.0。应用程序已启动并正在运行,但正如本文所述,当 hibernate 调用 c3p0(c3p0 版本 0.9.1.2)的 setBinaryStream 方法时引发异常:
Hibernate 4 calls setBinaryStream that is not supported in c3p0
按照答案中的建议,我已经更新了 c3p0 版本。当我将 c3p0 版本更改为 0.9.2.1 时出现以下异常:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jndiCoreBankDataSource' defined in ServletContext resource [/WEB-INF/dataSourceContext-fs.xml]: Invocation of init method failed; nested exception is javax.naming.NamingException: unexpected exception [Root exception is java.io.InvalidClassException: com.mchange.v2.c3p0.WrapperConnectionPoolDataSource; local class incompatible: stream classdesc serialVersionUID = 7806429541739165290, local class serialVersionUID = -7086951306718003710]; remaining name '"jdbc/cored"'
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getTypeForFactoryBean(AbstractBeanFactory.java:1421)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:802)
at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:542)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:436)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:412)
at org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors(BeanFactoryUtils.java:186)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1105)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1044)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:185)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1139)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1042)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4685)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
Caused by: javax.naming.NamingException: unexpected exception [Root exception is java.io.InvalidClassException: com.mchange.v2.c3p0.WrapperConnectionPoolDataSource; local class incompatible: stream classdesc serialVersionUID = 7806429541739165290, local class serialVersionUID = -7086951306718003710]; remaining name '"jdbc/corebank"'
at com.sun.jndi.fscontext.FSContext.generateNamingException(FSContext.java:806)
at com.sun.jndi.fscontext.RefFSContext.lookup(RefFSContext.java:149)
at com.sun.jndi.fscontext.FSContext.lookup(FSContext.java:127)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:155)
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:179)
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:106)
at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:231)
at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:217)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570)
... 61 more
Caused by: java.io.InvalidClassException: com.mchange.v2.c3p0.WrapperConnectionPoolDataSource; local class incompatible: stream classdesc serialVersionUID = 7806429541739165290, local class serialVersionUID = -7086951306718003710
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
at com.mchange.v2.ser.SerializableUtils.deserializeFromByteArray(SerializableUtils.java:144)
at com.mchange.v2.ser.SerializableUtils.fromByteArray(SerializableUtils.java:123)
at com.mchange.v2.naming.JavaBeanObjectFactory.createPropertyMap(JavaBeanObjectFactory.java:110)
at com.mchange.v2.naming.JavaBeanObjectFactory.getObjectInstance(JavaBeanObjectFactory.java:71)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at com.sun.jndi.fscontext.RefFSContext.lookup(RefFSContext.java:146)
... 73 more
以下是事件相关的xml配置:
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">${jndi.contextFactory}</prop>
<prop key="java.naming.provider.url">${jndi.providerUrl}</prop>
</props>
</property>
</bean>
<bean id="targetDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate"/>
<property name="jndiName" value="jdbc/cored" />
</bean>
我还没有接触过 jtds 和 jndi jar。是因为他们不兼容吗?但鉴于存在 serialversionUID 不匹配,我相信在某个地方存在一个不同版本的类 WrapperConnectionPoolDataSource,因为我已经搜索了整个项目,所以我无法弄清楚。
在 jndi 模板的 props 中,我正在从文件系统加载 jndi 上下文:
<prop key="java.naming.factory.initial">com.sun.jndi.fscontext.RefFSContextFactory</prop>
<prop key="java.naming.provider.url">file:d:/jndi-support/jdbc</prop>
下面是 jndi 支持文件夹。这里的绑定是使用 fsjndibinder.jar 生成的。 fsjndibinder.jar 包含其中打包的所有依赖项。即旧的 c3p0 09.1.2、jtds、jndi 库被打包。这是否导致 serialversionUID 问题?还是使用 fsjndibinder.jar 中打包的旧库生成的绑定文件导致它?如果是这样,这意味着绑定文件是WrapperConnectionPoolDataSource 类的序列化版本,或者它包含与我的项目中的匹配的serialversionUID?我没有 jndi 绑定以及它如何与池关联的经验。
编辑:这确实是一个绑定问题,因为我已经使用新库生成了绑定文件,但忘记将生成的绑定文件移到应用程序正在读取的补丁中。该应用程序现在可以连接,但我面临同样的问题,但我猜想与新版本的 c3p0 (v0.9.2.1) 不兼容的 jtds 库。当前jtds版本是1.2.2。
java.lang.AbstractMethodError: Method net/sourceforge/jtds/jdbc/JtdsPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V is abstract
我已将 JTDS jar 更改为 v1.3.1,现在抛出以下异常:
2021-09-19 13:21:00,552 [main] WARN com.mchange.v2.c3p0.impl.NewProxyStatement - Exception on close of inner statement.
java.sql.SQLException: Invalid state, the Connection object is closed.
at net.sourceforge.jtds.jdbc.TdsCore.checkOpen(TdsCore.java:481)
at net.sourceforge.jtds.jdbc.TdsCore.clearResponseQueue(TdsCore.java:767)
at net.sourceforge.jtds.jdbc.JtdsStatement.reset(JtdsStatement.java:722)
at net.sourceforge.jtds.jdbc.JtdsStatement.close(JtdsStatement.java:966)
at com.mchange.v2.c3p0.impl.NewProxyStatement.close(NewProxyStatement.java:867)
at org.springframework.jdbc.support.JdbcUtils.closeStatement(JdbcUtils.java:93)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:412)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:440)
at com.greytip.common.scriptrunner.dao.impl.RubyDaoHelperImpl.executeCommand(RubyDaoHelperImpl.java:173)
at com.greytip.common.scriptrunner.dao.impl.RubyDaoHelperImpl.executeSql(RubyDaoHelperImpl.java:89)
at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jruby.javasupport.JavaMethod.invokeWithExceptionHandling(JavaMethod.java:170)
at org.jruby.javasupport.JavaMethod.invoke(JavaMethod.java:146)
at sun.reflect.GeneratedMethodAccessor85.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jruby.runtime.callback.ReflectionCallback.invokeMethod0(ReflectionCallback.java:101)
at org.jruby.runtime.callback.AbstractCallback.invokeMethod(AbstractCallback.java:114)
at org.jruby.runtime.callback.AbstractCallback.execute(AbstractCallback.java:181)
at org.jruby.internal.runtime.methods.CallbackMethod.call(CallbackMethod.java:69)
at org.jruby.RubyModule.call0(RubyModule.java:672)
at org.jruby.RubyModule.call(RubyModule.java:633)
at org.jruby.evaluator.EvaluateVisitor.visitCallNode(EvaluateVisitor.java:453)
at org.jruby.ast.CallNode.accept(CallNode.java:62)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitDAsgnNode(EvaluateVisitor.java:603)
at org.jruby.ast.DAsgnNode.accept(DAsgnNode.java:58)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitNewlineNode(EvaluateVisitor.java:1068)
at org.jruby.ast.NewlineNode.accept(NewlineNode.java:68)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitBlockNode(EvaluateVisitor.java:340)
at org.jruby.ast.BlockNode.accept(BlockNode.java:60)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.internal.runtime.methods.EvaluateMethod.call(EvaluateMethod.java:71)
at org.jruby.runtime.ThreadContext.yield(ThreadContext.java:273)
at org.jruby.Ruby.yield(Ruby.java:323)
at org.jruby.runtime.Block.call(Block.java:107)
at org.jruby.RubyProc.call(RubyProc.java:102)
at org.jruby.internal.runtime.methods.ProcMethod.call(ProcMethod.java:60)
at org.jruby.RubyModule.call0(RubyModule.java:672)
at org.jruby.RubyModule.call(RubyModule.java:633)
at org.jruby.evaluator.EvaluateVisitor.visitCallNode(EvaluateVisitor.java:453)
at org.jruby.ast.CallNode.accept(CallNode.java:62)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitNewlineNode(EvaluateVisitor.java:1068)
at org.jruby.ast.NewlineNode.accept(NewlineNode.java:68)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitBlockNode(EvaluateVisitor.java:340)
at org.jruby.ast.BlockNode.accept(BlockNode.java:60)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.RubyObject.eval(RubyObject.java:407)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:106)
at org.jruby.RubyModule.call0(RubyModule.java:672)
at org.jruby.RubyModule.call(RubyModule.java:633)
at org.jruby.evaluator.EvaluateVisitor.visitFCallNode(EvaluateVisitor.java:823)
at org.jruby.ast.FCallNode.accept(FCallNode.java:59)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitNewlineNode(EvaluateVisitor.java:1068)
at org.jruby.ast.NewlineNode.accept(NewlineNode.java:68)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitBlockNode(EvaluateVisitor.java:340)
at org.jruby.ast.BlockNode.accept(BlockNode.java:60)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.RubyObject.eval(RubyObject.java:407)
at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:106)
at org.jruby.RubyModule.call0(RubyModule.java:672)
at org.jruby.RubyModule.call(RubyModule.java:633)
at org.jruby.evaluator.EvaluateVisitor.visitCallNode(EvaluateVisitor.java:453)
at org.jruby.ast.CallNode.accept(CallNode.java:62)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitNewlineNode(EvaluateVisitor.java:1068)
at org.jruby.ast.NewlineNode.accept(NewlineNode.java:68)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitBlockNode(EvaluateVisitor.java:340)
at org.jruby.ast.BlockNode.accept(BlockNode.java:60)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitRescueNode(EvaluateVisitor.java:1237)
at org.jruby.ast.RescueNode.accept(RescueNode.java:61)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitBeginNode(EvaluateVisitor.java:324)
at org.jruby.ast.BeginNode.accept(BeginNode.java:57)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitNewlineNode(EvaluateVisitor.java:1068)
at org.jruby.ast.NewlineNode.accept(NewlineNode.java:68)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.internal.runtime.methods.EvaluateMethod.call(EvaluateMethod.java:71)
at org.jruby.runtime.ThreadContext.yield(ThreadContext.java:273)
at org.jruby.Ruby.yield(Ruby.java:323)
at org.jruby.Ruby.yield(Ruby.java:319)
at org.jruby.RubyArray.each(RubyArray.java:812)
at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jruby.runtime.callback.ReflectionCallback.invokeMethod0(ReflectionCallback.java:101)
at org.jruby.runtime.callback.AbstractCallback.invokeMethod(AbstractCallback.java:114)
at org.jruby.runtime.callback.AbstractCallback.execute(AbstractCallback.java:181)
at org.jruby.internal.runtime.methods.CallbackMethod.call(CallbackMethod.java:69)
at org.jruby.RubyModule.call0(RubyModule.java:672)
at org.jruby.RubyModule.call(RubyModule.java:633)
at org.jruby.evaluator.EvaluateVisitor.visitCallNode(EvaluateVisitor.java:453)
at org.jruby.ast.CallNode.accept(CallNode.java:62)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitIterNode(EvaluateVisitor.java:975)
at org.jruby.ast.IterNode.accept(IterNode.java:61)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitNewlineNode(EvaluateVisitor.java:1068)
at org.jruby.ast.NewlineNode.accept(NewlineNode.java:68)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitBlockNode(EvaluateVisitor.java:340)
at org.jruby.ast.BlockNode.accept(BlockNode.java:60)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitBeginNode(EvaluateVisitor.java:324)
at org.jruby.ast.BeginNode.accept(BeginNode.java:57)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitNewlineNode(EvaluateVisitor.java:1068)
at org.jruby.ast.NewlineNode.accept(NewlineNode.java:68)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.evaluator.EvaluateVisitor.visitBlockNode(EvaluateVisitor.java:340)
at org.jruby.ast.BlockNode.accept(BlockNode.java:60)
at org.jruby.evaluator.EvaluateVisitor.eval(EvaluateVisitor.java:223)
at org.jruby.runtime.ThreadContext.eval(ThreadContext.java:126)
at org.jruby.Ruby.eval(Ruby.java:180)
at org.jruby.Ruby.evalScript(Ruby.java:176)
at org.jruby.javasupport.bsf.JRubyEngine.exec(JRubyEngine.java:102)
at org.apache.bsf.BSFManager$6.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.bsf.BSFManager.exec(Unknown Source)
at com.greytip.common.scriptrunner.RubyScriptRunner.rubyExec(RubyScriptRunner.java:60)
at com.greytip.common.scriptrunner.RubyScriptRunner.rubyExec(RubyScriptRunner.java:79)
at com.greytip.common.scriptrunner.DatabaseScriptRunner.execute(DatabaseScriptRunner.java:53)
at com.greytip.common.scriptrunner.CriticalUpdatesRunner.afterPropertiesSet(CriticalUpdatesRunner.java:30)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:648)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:140)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1139)
似乎我已经击中了 jar 地狱和 * 中允许的最大字符数。我已删除部分堆栈跟踪以将字符保持在范围内。
【问题讨论】:
标签: java hibernate connection-pooling jndi jtds