该项目的结构是:
在Tomcat 7中启动项目B后,我有一个错误:
错误:java:模块周期不支持注释处理.请确保循环[A,B]中的所有模块都从注释处理中排除
如何避免这个问题?
我使用java 8,Tomcat 7和idea 14.
我为Handler写了一个测试(spring weblux)
测试:
@Test
public void checkServicesHandlerTest(){
Request request = new Request();
request.setMsisdn("ffdfdfd");
this.testClient.post().uri("/check")
.body(Mono.just(request), Request.class).exchange().expectStatus().isOk();
}
Run Code Online (Sandbox Code Playgroud)
但结果我有一个错误.
Timeout on blocking read for 5000 MILLISECONDS
Run Code Online (Sandbox Code Playgroud)
处理程序很简单
public Mono<ServerResponse> check(ServerRequest request){
Request request = request.bodyToMono(Request.class).block();
Run Code Online (Sandbox Code Playgroud)
问题出在哪儿 ?但如果我向服务器发送直接请求,一切都可以.
我尝试使用注释 @DataJpaTest 编写集成测试。我有两个数据源:主要和次要(类配置)结果我有一个错误:
expected single matching bean but found 2: primaryDataSource,secondary
Run Code Online (Sandbox Code Playgroud)
然后我尝试添加注释
@AutoConfigureTestDatabase(replace= AutoConfigureTestDatabase.Replace.AUTO_CONFIGURED)
Run Code Online (Sandbox Code Playgroud)
并且使用 AUTO_CONFIGURED 只有由属性配置的数据源将被替换,但我看到的是嵌入的 h2 Dialect : HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
如何使用@DataJpaTest多个数据源?
public class DataSourcesConfig {
@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondary")
@ConfigurationProperties(prefix="datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
Run Code Online (Sandbox Code Playgroud) 我创建了最简单的 kafka 接收器连接器配置,我使用的是 confluence 4.1.0:
{
"connector.class":
"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector",
"type.name": "test-type",
"tasks.max": "1",
"topics": "dialogs",
"name": "elasticsearch-sink",
"key.ignore": "true",
"connection.url": "http://localhost:9200",
"schema.ignore": "true"
}
Run Code Online (Sandbox Code Playgroud)
在主题中,我将消息保存为JSON
{ "topics": "resd"}
Run Code Online (Sandbox Code Playgroud)
但在结果中我得到一个错误:
引起:org.apache.kafka.common.errors.SerializationException:反序列化 id -1 的 Avro 消息时出错 引起:org.apache.kafka.common.errors.SerializationException:未知的魔术字节!
为什么这段代码的结果是0和1?有人可以解释这段代码吗?
如何改变条件的结果:if (b = !b)之间true或false?
码:
public class Atomicity extends Thread {
volatile static int i;
boolean b;
public void run() {
while (true) {
if (b = !b) i++;
else i--;
}
}
public static void main(String[] args) {
//new Atomicity().start();
new Atomicity().start();
while (true)
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud) 我在流和表中重新键入了数据,我使用了Confluent 4.1
1)创建流
CREATE STREAM session_details_stream (Media varchar ,SessionIdTime varchar,SessionIdSeq long) with (kafka_topic = 'sessionDetails', value_format = 'json');
Run Code Online (Sandbox Code Playgroud)
2)创建重新密钥流,因为这个脚本不起作用,但在此之前它的工作原理,为什么?
CREATE STREAM session_details_stream_rekeyed as select Media,SessionIdTime ,SessionIdSeq,CONCAT(SessionIdTime,SessionIdSeq) as root from SESSION_DETAILS_STREAM partition by root;
Run Code Online (Sandbox Code Playgroud)
然后我创建下一个脚本s
CREATE STREAM session_details_stream_update as select Media,SessionIdTime ,SessionIdSeq,CONCAT(SessionIdTime,SessionIdSeq) as root from SESSION_DETAILS_STREAM partition by SessionIdTime;
CREATE STREAM session_details_stream_rekeyed as select Media,SessionIdTime ,SessionIdSeq,root from session_details_stream_update partition by root;
Run Code Online (Sandbox Code Playgroud)
session_details_stream_rekeyed的结果是正常的:
ksql> select * from session_details_stream_rekeyed;
1526411486488 | 2018-02-05T15:16:07.113+02:001| tex | 2018-02-05T15:16:07.113+02:001 | 1 | 2018-02-05T15:16:07.113+02:001
Run Code Online (Sandbox Code Playgroud)
3)创建主题流;
CREATE STREAM voip_details_stream …Run Code Online (Sandbox Code Playgroud)