Eclipse Kepler中的maven项目在调用"Run As - > maven install"或"Run As-> Maven build .... clean install"时不会构建.
我收到以下错误:
[错误]无法在项目SSLibrary上执行目标:无法解析项目com.SSLibrary的依赖项:jar:1.1.0-SNAPSHOT:找不到工件org.jacorb:jacorb:jar:2.3.2-redhat-4 in artifactory -releases(xxx/libs-release-local) - > [帮助1]
我在eclipse中的pom.xml有一个红色x表示:
在这一行找到多个注释: - 缺少工件org.jacorb:jacorb:jar:2.3.2-redhat-4 - 缺少工件com.sun:工具:jar:1.6
但是,从命令行执行mvn安装是成功的.我还可以在我的本地仓库中看到org.jacorb.jacorb.jar文件,版本2.3.2-redhat-4.
它几乎像Eclipse一样遵循不同的规则.
我在Oracle 11g中有一个存储过程,我使用Oracle瘦数据库驱动程序和CallableStatement从Java程序调用.在同一连接上循环调用此存储过程数千次.
将callableStatement.execute()在<200毫秒的第10-20电话呼叫的回报,但是,性能开始随着时间的推移.200次通话后,callableStatement.execute()现在需要600ms,并继续降级.
如果我定期关闭连接,执行时间将恢复到正常的<200ms范围.显然,JDBC连接中的某些内容被错误地缓存,尽管文档声明CallableStatements未被缓存.
在C程序中使用Oracle OCI驱动程序运行相同的存储过程不会导致性能下降,并且会在<200ms内连续返回.
有没有人注意到这种行为或对Java的解决方法有任何想法?
编辑:这是多次运行的代码部分; 连接是共享的,每次循环都会创建CallableStatement.如果CallableStatement被缓存,则没有任何改进.
oracle_conn_time = System.currentTimeMillis();
OracleConnection oracle_conn = (OracleConnection) conn.getMetaData().getConnection();
oracle_conn.setStatementCacheSize(1);
oracle_conn_time = System.currentTimeMillis() - oracle_conn_time;
list_time = System.currentTimeMillis();
var_args= oracle_conn.createARRAY("ARG_LIST", args.toArray());
list_time = System.currentTimeMillis() - list_time;
sql = "{? = call perform_work(?,?,?,?)}";
prepare_time = System.currentTimeMillis();
ocs = (OracleCallableStatement) oracle_conn.prepareCall(sql);
prepare_time = System.currentTimeMillis() - prepare_time;
bind_time = System.currentTimeMillis();
ocs.registerOutParameter(1, OracleTypes.ARRAY, "RESPONSEOBJ");
ocs.setInt( 2, 77);
ocs.setInt( 3, 123456);
ocs.setArray(4, var_args);
ocs.setInt( 5, 123456789);
bind_time = System.currentTimeMillis() - bind_time;
//execute_time is …Run Code Online (Sandbox Code Playgroud)