enter code here
私たちはデータベースプール用にc3p0 jarを使用しています。今度はc3p0コードから、次の例外がありますIllegalAccessError in Linux(投機10)
原因:java.lang.IllegalAccessError:クラスcom.mchange.v2.c3p0.implからクラスcom.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource $ 1にアクセスしようとしましたcom.mchange.v2.c3p0.impl.AbstractPoolBackedDataSourceでcom.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.setUpPropertyEvents(AbstractPoolBackedDataSource.java:74) で.AbstractPoolBackedDataSource。(AbstractPoolBackedDataSource.java:63) com.mchangeで.v2.c3p0.ComboPooledDataSource。(ComboPooledDataSource.java:109) com.mchange.v2.c3p0.ComboPooledDataSourceで。(ComboPooledDataSource.java:105)AbstractPoolBacで今
kedDataSource.java(ライン74) のPropertyChangeListener 1 =新しいのPropertyChangeListener()
PropertyChangeListener l = new PropertyChangeListener()
{
public void propertyChange(PropertyChangeEvent evt)
{ resetPoolManager(); }
};
だから、のPropertyChangeListenerはここに内部クラス..ですAbstractPoolBackedDataSource $ 1 のPropertyChangeListenerは、Javaクラスjava.beans.PropertyChangeListenerです!
理由は何でしょうか?これはLinux(suse 10)でのみ起こります。 Windowsでは正常に動作しています(jdk 1.6_10とjre 1.6_20)。私は別のjdk、jreの組み合わせ(jdk 1.6_25など)で試しました