2015-09-15 74 views
0

我的JRuby on Rails的JRuby的(1.7.5)+ MSSQL-2012 + torquebox 2.2.0 + Rails的2.3.18。應用程序連接到數據庫沒有任何問題。的JRuby(1.7.5)+ MSSQL-2012 + torquebox 2.2.0 DB問題

我安裝了有源錄音-JDBC(1.2.8)*主動記錄MSSQL-JDBC(2.8.1)

的問題是,如果我做出的任何DB打甚至獲取單列。這將需要完成周圍在938504ms(查看:4,DB:938497)已完成請求| 200 OK請求花了將近15分鐘才能完成。

但在前端用戶界面。我得到了Apache的Timeout錯誤。我如何檢測問題並修復此問題。

我把線程轉儲和所有。它顯示一個如下

  • 停車等待< 0x00000000fc85dbe8>(一java.util.concurrent.locks.ReentrantLock中的$ NonfairSync) 在java.util.concurrent.locks.LockSupport.park(LockSupport.java:186 ) 在java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) 在java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireInterruptibly(AbstractQueuedSynchronizer.java:894) 在java.util.concurrent.locks中.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1221) 在java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:340) at org.jruby.RubyThread.lockInterruptibly(RubyThread.java:1461) at org.jruby.ext.thread.Mutex.lock(Mutex.java:91) at org.jruby.ext.thread.Mutex.synchronize( Mutex.java:147) 在org.jruby.ext.thread.Mutex $ INVOKER $ I $ 0 $ 0 $ synchronize.call(互斥$ INVOKER $ I $ 0 $ 0 $ synchronize.gen) 在org.jruby.runtime.callsite。 CachingCallSite.callBlock在(CachingCallSite.java:143) 在org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154) 在org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)

回答

0

似乎就像可能存在死鎖或者更可能是一些嚴重的爭用(在較新的JRuby 1.7.x上,您可能會在轉儲中看到更多有用的痕跡)......尤其是, 2.3的AR池在兼容性方面表現不佳。考慮從新版本移植池,也要注意,如果使用AR會話,會導致池和會話存儲庫存在一個令人討厭的錯誤。