Description
Hi,
I'm working with a tomee setup that has a datasource defined which looks like this (I've already added accessToUnderlyingConnectionAllowed true
as mentioned in the README) in tomee.xml:
<Resource id="jdbc/FOO_DATASOURCE" type="javax.sql.DataSource">
jdbcDriver oracle.jdbc.OracleDriver
jdbcUrl jdbc:oracle:thin:@(DESCRIPTION=(SDU=2097152)(ENABLE=BROKEN)(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ZOCSID)))
userName foo
Password bar
PasswordCipher Static3DES
auth Container
initialSize 10
maxActive 50
maxIdle 10
minEvictableIdleTimeMillis 300000
minIdle 5
timeBetweenEvictionRunsMillis 10000
maxWait 5000
removeAbandoned true
removeAbandonedTimeout 600
testOnBorrow true
testOnReturn false
testWhileIdle false
validationQuery SELECT 1 FROM DUAL
validationQueryTimeout 1
validationInterval 30000
autoReconnect true
accessToUnderlyingConnectionAllowed true
</Resource>
In the web.xml the above resource is referenced:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/FOO_DATASOURCE</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
In the database.yml access is configured via jndi:
production:
adapter: oracle_enhanced
jndi: jdbc/FOO_DATASOURCE
Expected behavior
ActiveRecord database access works as usual.
Actual behavior
The actual query is fired (visible in the logs) but afterwards (I guess when the result is processed) an error is thrown: class com.sun.proxy.$Proxy73 cannot be cast to class oracle.jdbc.OracleConnection (com.sun.proxy.$Proxy73 is in unnamed module of loader org.apache.tomee.catalina.TomEEWebappClassLoader @400304c1; oracle.jdbc.OracleConnection is in unnamed module of loader java.net.URLClassLoader @5a1c0542) (Java::JavaLang::ClassCastException)
Full stacktrace:
class com.sun.proxy.$Proxy73 cannot be cast to class oracle.jdbc.OracleConnection (com.sun.proxy.$Proxy73 is in unnamed module of loader org.apache.tomee.catalina.TomEEWebappClassLoader @400304c1; oracle.jdbc.OracleConnection is in unnamed module of loader java.net.URLClassLoader @5a1c0542) (Java::JavaLang::ClassCastException):
oracle.sql.CLOB.createTemporary(oracle/sql/CLOB.java:786)
oracle.sql.CLOB.createTemporary(oracle/sql/CLOB.java:751)
jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(jdk/internal/reflect/NativeMethodAccessorImpl)
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(jdk/internal/reflect/DelegatingMethodAccessorImpl)
java.lang.reflect.Method.invoke(java/lang/reflect/Method)
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:486)
org.jruby.javasupport.JavaMethod.invokeStaticDirect(org/jruby/javasupport/JavaMethod.java:378)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activerecord_minus_oracle_enhanced_minus_adapter_minus_6_dot_0_dot_6.lib.active_record.connection_adapters.oracle_enhanced.jdbc_quoting.invokeOther11:createTemporary(usr/local/tomee/webapps/foo/WEB_minus_INF/gems/gems/activerecord_minus_oracle_enhanced_minus_adapter_minus_6_dot_0_dot_6/lib/active_record/connection_adapters/oracle_enhanced//usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-6.0.6/lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb:14)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activerecord_minus_oracle_enhanced_minus_adapter_minus_6_dot_0_dot_6.lib.active_record.connection_adapters.oracle_enhanced.jdbc_quoting._type_cast(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-6.0.6/lib/active_record/connection_adapters/oracle_enhanced/jdbc_quoting.rb:14)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activerecord_minus_6_dot_0_dot_3_dot_5.lib.active_record.connection_adapters.abstract.quoting.invokeOther6:_type_cast(usr/local/tomee/webapps/foo/WEB_minus_INF/gems/gems/activerecord_minus_6_dot_0_dot_3_dot_5/lib/active_record/connection_adapters/abstract//usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/quoting.rb:31)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activerecord_minus_6_dot_0_dot_3_dot_5.lib.active_record.connection_adapters.abstract.quoting.type_cast(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/quoting.rb:31)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activerecord_minus_6_dot_0_dot_3_dot_5.lib.active_record.connection_adapters.abstract.quoting.invokeOther2:type_cast(usr/local/tomee/webapps/foo/WEB_minus_INF/gems/gems/activerecord_minus_6_dot_0_dot_3_dot_5/lib/active_record/connection_adapters/abstract//usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/quoting.rb:203)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activerecord_minus_6_dot_0_dot_3_dot_5.lib.active_record.connection_adapters.abstract.quoting.type_casted_binds(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/quoting.rb:203)
org.jruby.RubyArray.collect(org/jruby/RubyArray.java:2563)
org.jruby.RubyArray.map(org/jruby/RubyArray.java:2577)
org.jruby.RubyArray$INVOKER$i$0$0$map19.call(org/jruby/RubyArray$INVOKER$i$0$0$map19.gen)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activerecord_minus_6_dot_0_dot_3_dot_5.lib.active_record.connection_adapters.abstract.quoting.invokeOther6:map(usr/local/tomee/webapps/foo/WEB_minus_INF/gems/gems/activerecord_minus_6_dot_0_dot_3_dot_5/lib/active_record/connection_adapters/abstract//usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/quoting.rb:203)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activerecord_minus_6_dot_0_dot_3_dot_5.lib.active_record.connection_adapters.abstract.quoting.type_casted_binds(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/quoting.rb:203)
RUBY.exec_update(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-oracle_enhanced-adapter-6.0.6/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:139)
RUBY.update(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/database_statements.rb:174)
RUBY.update(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/query_cache.rb:22)
RUBY._update_record(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/persistence.rb:385)
RUBY._update_row(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/persistence.rb:896)
RUBY._update_row(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/locking/optimistic.rb:79)
RUBY._update_record(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/persistence.rb:918)
RUBY._update_record(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/attribute_methods/dirty.rb:205)
RUBY._update_record(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/callbacks.rb:335)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activesupport_minus_6_dot_0_dot_3_dot_5.lib.active_support.callbacks.run_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/callbacks.rb:135)
RUBY._run_update_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/callbacks.rb:825)
RUBY._update_record(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/callbacks.rb:335)
RUBY._update_record(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/timestamp.rb:123)
RUBY.create_or_update(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/persistence.rb:905)
RUBY.create_or_update(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/callbacks.rb:327)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activesupport_minus_6_dot_0_dot_3_dot_5.lib.active_support.callbacks.run_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/callbacks.rb:135)
RUBY._run_save_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/callbacks.rb:825)
RUBY.create_or_update(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/callbacks.rb:327)
RUBY.create_or_update(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/timestamp.rb:128)
RUBY.save!(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/persistence.rb:503)
RUBY.save!(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/validations.rb:53)
RUBY.save!(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/transactions.rb:318)
RUBY.with_transaction_returning_status(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/transactions.rb:375)
RUBY.transaction(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/database_statements.rb:280)
RUBY.within_new_transaction(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/transaction.rb:280)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activesupport_minus_6_dot_0_dot_3_dot_5.lib.active_support.concurrency.load_interlock_aware_monitor.synchronize(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26)
org.jruby.RubyThread.handle_interrupt(org/jruby/RubyThread.java:759)
org.jruby.RubyThread$INVOKER$s$1$0$handle_interrupt.call(org/jruby/RubyThread$INVOKER$s$1$0$handle_interrupt.gen)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activesupport_minus_6_dot_0_dot_3_dot_5.lib.active_support.concurrency.load_interlock_aware_monitor.invokeOther1:handle_interrupt(usr/local/tomee/webapps/foo/WEB_minus_INF/gems/gems/activesupport_minus_6_dot_0_dot_3_dot_5/lib/active_support/concurrency//usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activesupport_minus_6_dot_0_dot_3_dot_5.lib.active_support.concurrency.load_interlock_aware_monitor.synchronize(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25)
org.jruby.RubyThread.handle_interrupt(org/jruby/RubyThread.java:759)
org.jruby.RubyThread$INVOKER$s$1$0$handle_interrupt.call(org/jruby/RubyThread$INVOKER$s$1$0$handle_interrupt.gen)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activesupport_minus_6_dot_0_dot_3_dot_5.lib.active_support.concurrency.load_interlock_aware_monitor.invokeOther4:handle_interrupt(usr/local/tomee/webapps/foo/WEB_minus_INF/gems/gems/activesupport_minus_6_dot_0_dot_3_dot_5/lib/active_support/concurrency//usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activesupport_minus_6_dot_0_dot_3_dot_5.lib.active_support.concurrency.load_interlock_aware_monitor.synchronize(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21)
usr.local.tomee.webapps.foo.WEB_minus_INF.gems.gems.activesupport_minus_6_dot_0_dot_3_dot_5.lib.active_support.concurrency.load_interlock_aware_monitor.RUBY$method$synchronize$0$__VARARGS__(usr/local/tomee/webapps/foo/WEB_minus_INF/gems/gems/activesupport_minus_6_dot_0_dot_3_dot_5/lib/active_support/concurrency//usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activesupport-6.0.3.5/lib/active_support/concurrency/load_interlock_aware_monitor.rb)
RUBY.within_new_transaction(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/transaction.rb:278)
RUBY.transaction(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/connection_adapters/abstract/database_statements.rb:280)
RUBY.transaction(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/transactions.rb:212)
RUBY.with_transaction_returning_status(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/transactions.rb:366)
RUBY.save!(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/transactions.rb:318)
RUBY.save!(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/activerecord-6.0.3.5/lib/active_record/suppressor.rb:48)
RUBY.fail!(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/backend/base.rb:137)
RUBY.failed(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:267)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.initialize(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:61)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.execute(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:66)
RUBY.run_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:40)
RUBY.failed(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:260)
RUBY.reschedule(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:255)
RUBY.handle_failed_job(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:305)
RUBY.run(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:241)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.initialize(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:61)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.execute(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:66)
RUBY.run_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:40)
RUBY.run(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:241)
RUBY.reserve_and_run_one_job(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:312)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.initialize(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:61)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.execute(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:66)
RUBY.run_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:40)
RUBY.reserve_and_run_one_job(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:312)
RUBY.work_off(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:213)
org.jruby.RubyFixnum.times(org/jruby/RubyFixnum.java:285)
org.jruby.RubyInteger$INVOKER$i$0$0$times.call(org/jruby/RubyInteger$INVOKER$i$0$0$times.gen)
RUBY.work_off(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:212)
RUBY.start(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:175)
RUBY.realtime(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/benchmark.rb:308)
RUBY.start(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:174)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.initialize(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:61)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.execute(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:66)
RUBY.run_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:40)
RUBY.start(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:173)
org.jruby.RubyKernel.loop(org/jruby/RubyKernel.java:1442)
org.jruby.RubyKernel$INVOKER$s$0$0$loop.call(org/jruby/RubyKernel$INVOKER$s$0$0$loop.gen)
RUBY.start(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:172)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:291)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.ClearLocks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/plugins/clear_locks.rb:7)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.add(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:79)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.initialize(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:61)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.add(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:79)
org.jruby.RubyProc.call(org/jruby/RubyProc.java:275)
org.jruby.RubyProc$INVOKER$i$call.call(org/jruby/RubyProc$INVOKER$i$call.gen)
RUBY.execute(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:66)
RUBY.run_callbacks(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/lifecycle.rb:40)
RUBY.start(/usr/local/tomee/webapps/foo/WEB-INF/gems/gems/delayed_job-4.1.9/lib/delayed/worker.rb:171)
RUBY.<main>(uri:classloader:/delayed/start_worker.rb:21)
org.jruby.Ruby.runInterpreter(org/jruby/Ruby.java:1218)
org.jruby.Ruby.loadFile(org/jruby/Ruby.java:2785)
org.jruby.RubyKernel.loadCommon(org/jruby/RubyKernel.java:1039)
org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1009)
org.jruby.RubyKernel$INVOKER$s$load.call(org/jruby/RubyKernel$INVOKER$s$load.gen)
RUBY.<main>(<script>:1)
org.jruby.Ruby.evalScriptlet(org/jruby/Ruby.java:860)
org.jruby.Ruby.evalScriptlet(org/jruby/Ruby.java:836)
org.kares.jruby.RubyWorker.run(org/kares/jruby/RubyWorker)
java.lang.Thread.run(java/lang/Thread)
I'm not sure how to tackle this, looks like the connection-pool on the tomee side is not compatible with how the gem handles database connections... there seems to be some kind of handling of connection pools but somehow this doesn't work in my case.
Am I missing an important piece somewhere or is additional configuration needed for this use case? I'm happy for any hints. Thanks a lot in advance!
System configuration
Rails version: 6.0.3.5
Oracle enhanced adapter version: 6.0.6
Ruby version: jruby 9.2.16.0 (2.5.7)
Oracle Database version: 19.3.0-ee