测试类: -
@RunWith(SpringRunner.class)
@SpringBootTest(classes = { WebsocketSourceConfiguration.class,
WebSocketSourceIntegrationTests.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, properties = {
"websocket.path=/some_websocket_path", "websocket.allowedOrigins=*",
"spring.cloud.stream.default-binder=kafka" })
public class WebSocketSourceIntegrationTests {
private String port = "8080";
@Test
public void testWebSocketStreamSource() throws IOException, InterruptedException {
StandardWebSocketClient webSocketClient = new StandardWebSocketClient();
ClientWebSocketContainer clientWebSocketContainer = new ClientWebSocketContainer(webSocketClient,
"ws://localhost:" + port + "/some_websocket_path");
clientWebSocketContainer.start();
WebSocketSession session = clientWebSocketContainer.getSession(null);
session.sendMessage(new TextMessage("foo"));
System.out.println("Done****************************************************");
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里看到了同样的问题,但没有任何帮助.我可以知道我错过了什么吗?
我spring-boot-starter-tomcat在依赖关系层次结构中具有编译时依赖性.
配置类,
@Configuration
public class SpringContext {
@Bean
public BlockingQueue<String> queue(@Value("${queue.size}") int queueSize) {
return new LinkedBlockingQueue<>();
}
}
Run Code Online (Sandbox Code Playgroud)
主要班级,
@SpringBootApplication
public class SpringContextTest {
public static void main(String[] args) {
final SpringApplication springApplication = new SpringApplication(SpringContext.class);
springApplication.setWebEnvironment(false);
springApplication.run();
System.out.println("queue.size" + System.getProperty("queue.size"));
}
}
Run Code Online (Sandbox Code Playgroud)
application.yml,
queue.size: 10
Run Code Online (Sandbox Code Playgroud)
在启动主类时,我收到以下错误,
Caused by: java.lang.NumberFormatException: For input string: "${queue.size}"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[na:1.8.0_144]
Run Code Online (Sandbox Code Playgroud)
我是否缺少一些注释?在我的理解中,我使用了Spring启动应用程序所需的最小注释.我看过一些类似的帖子,但没有帮助.还尝试使用--spring.config.location.
我的Spring入门版:1.3.6.RELEASE
我正在使用以下代码创建ParquetWriter并向其中写入记录。
ParquetWriter<GenericRecord> parquetWriter = new ParquetWriter(path, writeSupport, CompressionCodecName.SNAPPY, BLOCK_SIZE, PAGE_SIZE);
final GenericRecord record = new GenericData.Record(avroSchema);
Run Code Online (Sandbox Code Playgroud)
parquetWriter.write(record);
Run Code Online (Sandbox Code Playgroud)
但是它仅允许创建新文件(在指定路径下)。有没有一种方法可以将数据附加到现有的镶木文件中(在路径中)?在我的情况下,缓存parquetWriter是不可行的。
什么是写简单的方式镶木格式到HDFS通过(使用Java API)直接创建平面架构一个POJO的,不使用的Avro和MR?
我发现的样本已经过时,使用弃用的方法也使用了Avro,spark或MR中的一种.