我在war文件中有spring应用程序。我在不同的环境中部署它并运行良好,但在一个weblogic 12.1.3服务器中它失败。
我有这样的方法:
public static Calendar getDate(Object obj) {
if(object.getClass().getName().equals("oracle.sql.TIMESTAMP")) {
try {
return getCalendarFromSqlDate(((TIMESTAMP) object).timestampValue());
} catch (SQLException e1) {
Logger logger = LogManager.getLogger("com.AWMonitor");
logger.error(e1.getMessage(), e1);
return null;
}
}
}
当我将对象转换为TIMESTAMP时,它没有给我这个错误:
oracle.sql.TIMESTAMP cannot be cast to oracle.sql.TIMESTAMP
谢谢!
编辑:
我使用ojdbc6.jar来使用TIMESTAMP类,它位于我项目的lib文件夹中并添加到clashpath。
要使用jdbc连接,我使用在weblogic中创建的jndi数据源。
我做了Jon Skeet所说的话。这是结果:
Object.toString():----
2015-11-10 07:20:08.904578
对象getClassLoader ----
sun.misc.Launcher$AppClassLoader@23137792
TIMESTAMP getClassLoader ----
weblogic.utils.classloaders.ChangeAwareClassLoader@5a47f7ea finder: weblogic.utils.classloaders.CodeGenClassFinder@3b65acd6 annotation: AWMonitor@AWMonitor.war