ScrollRsetStatement с модификаторами "public abstract" ошибка при использовании Jamon
В нашем проекте мы хотим использовать Java Application Monitor (JAMon) для мониторинга производительности проекта. Но когда я запускаю проект, он выдает исключение следующим образом:
Caused by: java.lang.IllegalAccessException: Class com.jamonapi.proxy.MonProxy can not access a member of class oracle.jdbc.driver.ScrollRsetStatement with modifiers "public abstract"
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109)
at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261)
at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:253)
at java.lang.reflect.Method.invoke(Method.java:599)
at com.jamonapi.proxy.MonProxy.invoke(MonProxy.java:123)
at com.jamonapi.proxy.JDBCMonProxy.invoke(JDBCMonProxy.java:106)
... 70 more
Платформа, которую мы использовали, - это Spring, struts, iBatis, а наша база данных - oracle 11g, а jdbc jar - classes12.jar. Что меня расстраивает, так это то, что это не всегда выдает это исключение, когда я запускаю этот проект. Это происходило в среднем раз в четыре раза. Кто-нибудь знает, как решить эту проблему? Вот код в нашем проекте.
public class MonitorDataSource implements DataSource {
private DataSource realDataSource;
public Connection getConnection() throws SQLException {
return MonProxyFactory.monitor(realDataSource.getConnection());
}
public Connection getConnection(String arg0, String arg1) throws SQLException {
return MonProxyFactory.monitor(realDataSource.getConnection(arg0, arg1));
}
public PrintWriter getLogWriter() throws SQLException {
return null;
}
public int getLoginTimeout() throws SQLException {
return 0;
}
public void setLogWriter(PrintWriter arg0) throws SQLException {
}
public void setLoginTimeout(int arg0) throws SQLException {
}
public DataSource getRealDataSource() {
return realDataSource;
}
public void setRealDataSource(DataSource realDataSource) {
this.realDataSource = realDataSource;
}}