小编Sar*_*ins的帖子

Cobertura的单元测试速度很慢

我最近将Cobertura集成到我的Ant构建脚本中,我想知道我是否正确使用它,因为它大大减慢了运行单元测试所需的时间.

这是一个示例控制台输出:

...
[junit] Running gov.nyc.doitt.gis.webmap.strategy.markup.ViewportDeterminingMarkupStrategyTest
[junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.38 sec
[junit] Flushing results...
[junit] Flushing results done
[junit] Cobertura: Loaded information on 282 classes.
[junit] Cobertura: Saved information on 282 classes.
[junit] Running gov.nyc.doitt.gis.webmap.strategy.markup.VisibleFeatureTypesMarkupInfoTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.434 sec
[junit] Flushing results...
[junit] Flushing results done
[junit] Cobertura: Loaded information on 282 classes.
[junit] Cobertura: Saved information on 282 classes.
[junit] Running gov.nyc.doitt.gis.webmap.strategy.markup.basemap.BasemapByViewportStrategyTest
[junit] Tests …
Run Code Online (Sandbox Code Playgroud)

ant junit cobertura

8
推荐指数
1
解决办法
1849
查看次数

Jenkins没有执行Ant任务

我是第一次设置Jenkins并遇到一个Jenkins似乎甚至没有尝试执行我指定的Ant任务的问题.

我在Manage Jenkins下定义了我的JDK和Ant安装.(詹金斯装置)

我已经使用目标"战争全部"设置了我的Job来调用Ant(工作建立)

无论是强制构建还是等待它在下一次提交后自然执行,构建控制台输出中都没有关于尝试执行ant任务的任何内容.

以下是控制台输出示例:(控制台输出)

任何有关它可能不会执行的想法都将受到赞赏.关于如何从Jenkins中找到更多日志记录的提示也可能有用,这些提示可能提供有关它为什么不执行的线索.我不确定我可能指定的Logger,甚至不知道在文件系统上写入日志信息的位置.

continuous-integration jenkins

6
推荐指数
1
解决办法
1万
查看次数

用jdbc澄清oracle中的游标

我遇到的情况是,我使用的第 3 方开源产品在 Oracle 中的游标用完并收到错误消息:java.sql.SQLException: ORA-01000: maximum open cursors exceeded

我的最大游标设置为 1000,我试图弄清楚达到此限制的代码是否做错了什么,或者我是否只需要增加我的限制。

经过一番调查,我在代码中发现了一个创建 ResultSet 的点,从而将我的打开游标计数增加了 1。但是,该 ResultSet 在使用后很快就关闭了......但游标计数保持不变。我能够在 3rd 方开源项目之外的简单 JDBC 应用程序中重现逻辑。

package gov.nyc.doitt.cursor;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class CursorTest {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;

        try {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            conn = DriverManager.getConnection("jdbc:oracle:thin:@myhost:1537:mydb", "username", "password");

            // as expected: there are 0 cursors associated with my session at this point

            ps = …
Run Code Online (Sandbox Code Playgroud)

java oracle jdbc resultset cursor

5
推荐指数
1
解决办法
6056
查看次数

Guice - Jersey - Servlet绑定

我最近切换到两阶段注入,这在我的servlet绑定中创建了一个错误.我目前正在两种错误模式之间切换,不确定哪种方向最好.

我遇到的第一个错误是:

com.sun.jersey.api.container.ContainerException:ResourceConfig实例不包含任何根资源类.

我的servlet模块看起来像这样:

public class MyServletModule extends JerseyServletModule {
    @Override
    protected void configureServlets() {
        bind(MyServlet.class).asEagerSingleton();

        serve("/*").with(GuiceContainer.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

我能够通过显式提供com.sun.jersey.config.property.packages参数来删除此错误.

public class MyServletModule extends JerseyServletModule {

    @Override
    protected void configureServlets() {
        bind(MyServlet.class).asEagerSingleton();

        Map<String,String> parameters = new HashMap<String, String>();
        parameters.put(PackagesResourceConfig.PROPERTY_PACKAGES, MyServlet.class.getPackage().getName());
        serve("/*").with(GuiceContainer.class, parameters);
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,Guice尝试了一个Just in Time绑定,它不尊重我的servlet构造函数上的@Inject.

com.google.inject.ConfigurationException:Guice配置错误:

1)无法为MyServlet创建绑定.它已经在MyServletModule.configureServlets绑定的一个或多个子注入器或私有模块上配置(MyServletModule.java:44)如果它在PrivateModule中,您是否忘记公开绑定?在找到MyServlet时

com.google.inject.internal.InjectorImpl.getBinding上的1个错误(InjectorImpl.java:150)

我的servlet有一个@Inject构造函数,它的参数不能及时绑定.在调试InjectorImpl后,我相信这就是我使用PROPERTY_PACKAGES时失败的原因.

我只是不确定使用PROPERTY_PACKAGES是否正确,我需要修复一些绑定?或者,如果这是错误的方向,我需要以不同的方式修复原始的ResourceConfig错误.

感谢帮助或推动正确的方向.

java servlets jersey guice

4
推荐指数
1
解决办法
8371
查看次数