小编gmo*_*ode的帖子

如何强制使用jar(或运行jar的jvm)utf-8而不是系统的默认编码

我的Windows默认编码是GBK,我的Eclipse完全是utf-8编码的.
因此,在我的Eclipse中运行良好的应用程序崩溃,因为在导出为jar文件时单词变得不可读;
我必须在.bat文件中编写以下行来运行该应用程序

   start java -Dfile.encoding=utf-8 -jar xxx.jar    
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,我可以在源代码中编写一些内容来设置应用程序使用(或jvm运行)utf-8而不是系统的默认编码.

java encoding command-line jar

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

模拟类型转换对象

我的bean中有一个简单的方法来处理primefaces数据表中的单元格编辑事件。方法如下:

public void onCellEdit(CellEditEvent event) {
    Object oldValue = event.getOldValue();
    Object newValue = event.getNewValue();

    User user = (User) ((DataTable) event.getComponent()).getRowData();
    if (!newValue.equals(oldValue))
    user.setUsername(oldValue.toString());
                     ....
}
Run Code Online (Sandbox Code Playgroud)

我该如何嘲笑: User user = (User) ((DataTable) event.getComponent()).getRowData();

java jsf mocking mockito primefaces

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

将REST调用中的@PathParam值存储在列表或数组中

我的功能看起来像这样:

    @PUT
    @Path("property/{uuid}/{key}/{value}")
    @Produces("application/xml")    
    public Map<String,ValueEntity> updateProperty(@Context HttpServletRequest request,
            @PathParam("key") String key,
            @PathParam("value") String value,
            @PathParam("uuid") String uuid) throws Exception {
                                       ...
                             }
Run Code Online (Sandbox Code Playgroud)

我必须修改它,因此它接受来自REST调用的无限(或许多)键值对列表,例如

@Path("property/{uuid}/{key1}/{value1}/{key2}/{value2}/{key3}/{value3}/...")
Run Code Online (Sandbox Code Playgroud)

是否可以将它们存储在数组或列表中,所以我没有列出几十个@PathParams和参数,以避免这种情况:

@PathParam("key1") String key1,
@PathParam("key2") String key2,
@PathParam("key3") String key3,
Run Code Online (Sandbox Code Playgroud)

java rest servlets jax-rs path-parameter

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

在 Spring 应用程序中配置 Jaeger

我想在我的 Spring 应用程序中配置 Jaeger。不知何故,我找不到合适的方法来做到这一点。几乎所有与 Spring-Jaeger 相关的文档都是针对 Spring Boot 的,其中大部分属性都是自动配置的。这是我的方法。Maven 依赖:

    <dependency>
        <groupId>io.opentracing.contrib</groupId>
        <artifactId>opentracing-spring-jaeger-cloud-starter</artifactId>
        <version>1.0.3</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

Jaeger 的 Spring 配置:

@Configuration
public class JagerConfiguration {


    @Bean
    public io.opentracing.Tracer jaegerTracer() {
        Map<String, String> tags = new HashMap<>();
        tags.put(Constants.TRACER_HOSTNAME_TAG_KEY, "localhost");

        CompositeReporter reporter = new CompositeReporter(new LoggingReporter(), remoteReporter());


        return new Builder("myTestSpringApp")
                .withSampler(new ConstSampler(true))
                .withMetricsFactory(new InMemoryMetricsFactory())
                .withReporter(remoteReporter())
                .withTags(tags)
                .build();
    }

    @Bean
    public RemoteReporter remoteReporter() {
        return new RemoteReporter.Builder().withSender(new UdpSender("localhost", 6831, 0)).build();
    }
}
Run Code Online (Sandbox Code Playgroud)

Jaeger 在 docker 本地运行,端口为 6831。

docker run -d -p6831:6831/udp -p16686:16686 jaegertracing/all-in-one:latest
Run Code Online (Sandbox Code Playgroud)

一旦我的应用程序启动,我注意到应用程序的速度大大减慢,我认为这是因为 …

spring opentracing jaeger

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