我的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而不是系统的默认编码.
我的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();
我的功能看起来像这样:
@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) 我想在我的 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)
一旦我的应用程序启动,我注意到应用程序的速度大大减慢,我认为这是因为 …
java ×3
command-line ×1
encoding ×1
jaeger ×1
jar ×1
jax-rs ×1
jsf ×1
mocking ×1
mockito ×1
opentracing ×1
primefaces ×1
rest ×1
servlets ×1
spring ×1