标签: dropwizard

使用 guice 将 CrossOriginFilter 添加到 dropwizard

我对 dropwizard 和 guice 还很陌生。当我在本地通过 ajax 代码访问 api 时,浏览器控制台上出现以下错误。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“null”。

研究该错误后,许多人建议将 CrossORiginFilter 添加到我的 dropwizard 代码中。这是通过 env.addFilter 完成的但我正在尝试使用 Guice。这是我的主课

public static void main( String[] args ) throws Exception
{
    new TListService().run( args );
}

@Override
public void initialize( Bootstrap<TListServiceConfiguration> bootstrap )
{
    bootstrap.setName( "tlist" );
    bootstrap.addBundle( GuiceBundle.< TListServiceConfiguration > newBuilder().addModule( new JpaPersistModule( this.getClass().getPackage().getName() ) ).setConfigClass( TListServiceConfiguration.class )
            .enableAutoConfig( this.getClass().getPackage().getName() ).build() );
}

@Override
public void run( TListServiceConfiguration config, Environment env ) throws Exception
{        
}
Run Code Online (Sandbox Code Playgroud)

这是我的 ajax 代码:

$(document).ready(function() {
    $('#btnSend').click(function(){
        var …
Run Code Online (Sandbox Code Playgroud)

java ajax guice cross-domain dropwizard

3
推荐指数
1
解决办法
1578
查看次数

JDBI:dbi.onDemand 是否比使用 dbi.open 更受青睐?

我在我的应用程序中使用 JDBI 和 Dropwizard。我使用 dbi.open 命令获取 DAO 实例,然后使用它来运行各种查询。在“finally”块中,我使用 dao.close() 方法关闭连接。我还使用 dao.inTransaction 方法在一个事务中执行多个数据库语句。

虽然该应用程序已经运行了一段时间,没有出现太多问题,但最近我们在开发和生产环境中多次看到“PoolExhausted”异常。我现在想知道使用 dbi.onDemand 是否是比使用 dbi.open 更好的方法,这样就不需要每次最后都调用 close...使用 dbi.open 可能是任何连接泄漏背后的原因?

dbi jdbi dropwizard

3
推荐指数
1
解决办法
5033
查看次数

Dropwizard 多个资产包冲突

我有几个不同的单页应用程序要嵌入到单个 dropwizard 进程中。如果我注册多个捆绑包,则只有最后一个捆绑包获胜。

bootstrap.addBundle(new AssetsBundle("/web1", "/web1", "index.html));
bootstrap.addBundle(new AssetsBundle("/web2", "/web2", "index.html));
Run Code Online (Sandbox Code Playgroud)

仅提供 web2 服务。如果我反转这些行,则仅提供 web1 服务。

如何正确配置 dropwizard 以便两者都得到服务?

java dropwizard

3
推荐指数
1
解决办法
632
查看次数

将 JWT 令牌与 dropwizard 结合使用?我已经有了 db auth,但对使用令牌感到困惑

我有以下用于数据库身份验证的 Authenticator 类:

public class DBAuthentication implements Authenticator<BasicCredentials, User> {

    private UserDAO userDAO;

    public DBAuthentication(UserDAO userDAO) {
        this.userDAO = userDAO;
    }

    @Override
    public Optional<User> authenticate(BasicCredentials credentials) throws AuthenticationException{
       return userDAO.findByUsernamePassword(credentials.getUsername(), credentials.getPassword());
    }
}
Run Code Online (Sandbox Code Playgroud)

然后当我想对资源进行身份验证时,我只需执行以下操作:

@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/secured")
@UnitOfWork
public String aliveSecure(@Auth User user)
{
    return "working.";
}
Run Code Online (Sandbox Code Playgroud)

这是一种简单的经过身份验证的方法 - 而且效果很好...但是,假设我想让用户登录,然后获取他们可以用于将来请求的令牌,直到令牌过期...我会假设(如果我错了,请纠正我)我会做一些事情,比如拥有一个资源,它将获取凭据,然后在响应中返回令牌,以便存储在客户端上 - 这很好......但如果我这样做那么,我稍后将如何针对令牌进行身份验证?

java authentication rest jwt dropwizard

3
推荐指数
1
解决办法
4667
查看次数

用千分尺测量事件发生率

在 Dropwizard 中有类似meter的东西: httpsmark() ://metrics.dropwizard.io/3.1.0/getting-started/#meters 它让我只需通过调用指标上的方法 来测量事件的发生率。

我怎样才能在千分尺中做到这一点?

我可以使用计时器,但我不想将Timer.Sample对象传递到需要调用stop()方法的任何地方。

与 Dropwizard 相比,Micrometer 中另一个缺少的东西是可以包含文本消息的度量,如 Dropwizard 中的量规。

dropwizard micrometer spring-micrometer

3
推荐指数
1
解决办法
5511
查看次数

当流量为零时,Lambda 是否会关闭整个容器?

据说lambda在没有流量时关闭容器,并且当长时间后第一次请求时,存在冷启动问题。是对的吗?例如。如果我在 AWS lambda 上运行删除向导应用程序,如果没有流量到来,服务器是否会关闭,并且会根据第一个请求再次启动服务器?那是对的吗?

或者它不会关闭容器中运行的服务器,而是执行其他操作?请解释?

amazon-web-services dropwizard aws-lambda serverless

3
推荐指数
1
解决办法
1309
查看次数

了解 Dropwizard JMX 指标排队线程池

排队线程池有 4 个指标

jmx.metrics.org.eclipse.jetty.util.thread.QueuedThreadPool.dw.size.Value
jmx.metrics.org.eclipse.jetty.util.thread.QueuedThreadPool.dw.jobs.Value
jmx.metrics.org.eclipse.jetty.util.thread.QueuedThreadPool.dw.utilization.max.Value
jmx.metrics.org.eclipse.jetty.util.thread.QueuedThreadPool.dw.utilization.Value
Run Code Online (Sandbox Code Playgroud)

他们的意思是什么?什么是理想值?

java multithreading dropwizard

3
推荐指数
1
解决办法
2629
查看次数

Dropwizard视图:添加ViewBundle

我正在尝试按照本教程创建DropWizard视图.但是,当我尝试时addBundle(new ViewBundle()),它无法找到(或导入)ViewBundle.我在这里错过了什么?

dropwizard

2
推荐指数
1
解决办法
1526
查看次数

JAX-RS 2.0 - 如何从Response对象获取实体

我正在使用带有Dropwizard 0.8.0-rc1的JAX-RS 2.0,我真的无法弄清楚如何从javax.ws.rs.core.Response对象中拉出我的实体.response.getEntity()给了我ByteArrayOutputStream.我可以创建两个请求 - 一个给我标题和链接,另一个给我我的响应实体,但它似乎是一个愚蠢,浪费和不清楚的事情.有没有办法从响应对象中获取实体?

我目前的测试代码如下:

public class GroupsResourceTest {

    public static String CONFIGURATION_FILE = "src/test/resources/test-conf.yml";

    @ClassRule
    public final static DropwizardAppRule<BpmConsoleConfiguration> RULE =
            new DropwizardAppRule<>(BpmConsoleApplication.class, CONFIGURATION_FILE);

    static Client client;

    @BeforeClass
    public static void initClient(){
        client = new JerseyClientBuilder(RULE.getEnvironment()).build("client");
        client.register(HttpAuthenticationFeature.basic(User.ADMIN.login, User.ADMIN.password));
    }

    @Test
    public void shouldGetGroups() {
        //when
        WebTarget resource = target("/groups");
        List<String> groups = resource.request().get(new GenericType<>(List.class)); //first request
        Response response = resource.request().get(); //second request
        Link self = response.getLink("self");
        //then
        assertThat(self.getUri().getPath()).isEqualTo("/groups");
        assertThat(groups).contains(User.ADMIN.login);

    }

    public WebTarget …
Run Code Online (Sandbox Code Playgroud)

java web-services jax-rs dropwizard

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

Dropwizard 0.8.0 WADL支持

可以在Dropwizard 0.7.1中配置Wadl,如下所示:

environment
        .jersey()
        .getResourceConfig()
        .getProperties()
        .put(ResourceConfig.FEATURE_DISABLE_WADL, Boolean.FALSE);//Create WADL
Run Code Online (Sandbox Code Playgroud)

如何在Dropwizard 0.8.0中设置它

wadl dropwizard jersey-2.0

2
推荐指数
1
解决办法
1015
查看次数