我最近配置了Eclipse(版本3.6),以使其自动刷新工作区中的项目(Windows> Preferences> General> Workspace> Refreshmaticallymatically).
由于我改变了这个配置,当我尝试运行Maven(从Eclipse安装Maven)来构建一个大项目时,我遇到了以下问题:
[错误]无法执行目标org.apache.maven.plugins:maven-clean-plugin:2.4.1:项目上的clean(default-clean)ProjectName:无法清理项目:无法删除C:\ ProjectName\target - > [Help 1] [ERROR] [ERROR]要查看错误的完整堆栈跟踪,请使用-e开关重新运行Maven.[ERROR]使用-X开关重新运行Maven以启用完整的调试日志记录.[错误] [错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:[错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
问题随机发生(或多或少50%的时间我构建一个项目),但当我尝试一起构建14个项目时,我总是在某个地方出现这个错误.我认为问题在于Maven正在尝试删除被Eclipse锁定的文件(即刷新项目).事实上,当我禁用"自动刷新"选项时,它不会发生.
有人知道避免这种麻烦的伎俩吗?
我注意到有关于此主题的另一个问题" Eclipse自动刷新资源并排除build dir ",但没有答案.我希望我提供了足够的信息来理解这个问题.
我要实现的目的是按用户对我从Kafka主题中收到的某些消息进行分组并对其进行窗口化处理,以便汇总我在(5分钟)窗口中收到的消息。然后,我想收集每个窗口中的所有聚合,以便立即处理它们,并将它们添加到我在5分钟间隔内收到的所有邮件的报告中。
最后一点似乎是艰难的部分,因为Kafka Streams似乎没有提供(至少我找不到它!)任何可以在“有限”流中收集所有与窗口相关的东西的东西,以便在一个地方处理。
这是我实现的代码
StreamsBuilder builder = new StreamsBuilder();
KStream<UserId, Message> messages = builder.stream("KAFKA_TOPIC");
TimeWindowedKStream<UserId, Message> windowedMessages =
messages.
groupByKey().windowedBy(TimeWindows.of(SIZE_MS));
KTable<Windowed<UserId>, List<Message>> messagesAggregatedByWindow =
windowedMessages.
aggregate(
() -> new LinkedList<>(), new MyAggregator<>(),
Materialized.with(new MessageKeySerde(), new MessageListSerde())
);
messagesAggregatedByWindow.toStream().foreach((key, value) -> log.info("({}), KEY {} MESSAGE {}", value.size(), key, value.toString()));
KafkaStreams streams = new KafkaStreams(builder.build(), config);
streams.start();
Run Code Online (Sandbox Code Playgroud)
结果是像
KEY [UserId(82770583)@1531502760000/1531502770000] Message [Message(userId=UserId(82770583),message="a"),Message(userId=UserId(82770583),message="b"),Message(userId=UserId(82770583),message="d")]
KEY [UserId(77082590)@1531502760000/1531502770000] Message [Message(userId=UserId(77082590),message="g")]
KEY [UserId(85077691)@1531502750000/1531502760000] Message [Message(userId=UserId(85077691),message="h")]
KEY [UserId(79117307)@1531502780000/1531502790000] Message [Message(userId=UserId(79117307),message="e")]
KEY [UserId(73176289)@1531502760000/1531502770000] Message [Message(userId=UserId(73176289),message="r"),Message(userId=UserId(73176289),message="q")]
KEY [UserId(92077080)@1531502760000/1531502770000] Message [Message(userId=UserId(92077080),message="w")] …Run Code Online (Sandbox Code Playgroud) 我最近部署了一个计划每天运行的 Spring Boot 应用程序,以便解析来自 Cassandra 集群的新数据。经过大约 20 小时的工作(对 Cassandra 进行了数百万次读/写访问),出现了一些内存问题,并且在每次迭代时(异常被捕获在循环中)我都遇到了这个错误:
java.lang.RuntimeException: java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory.createAccessorClass(ClassGeneratingPropertyAccessorFactory.java:170)
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory.potentiallyCreateAndRegisterPersistentPropertyAccessorClass(ClassGeneratingPropertyAccessorFactory.java:154)
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory.getPropertyAccessor(ClassGeneratingPropertyAccessorFactory.java:80)
at org.springframework.data.mapping.model.BasicPersistentEntity.getPropertyAccessor(BasicPersistentEntity.java:425)
at org.springframework.data.cassandra.convert.MappingCassandraConverter.getConvertingAccessor(MappingCassandraConverter.java:611)
at org.springframework.data.cassandra.convert.MappingCassandraConverter.readEntityFromRow(MappingCassandraConverter.java:172)
at org.springframework.data.cassandra.convert.MappingCassandraConverter.readRow(MappingCassandraConverter.java:149)
at com.myapp.utils.CassandraIterable$1.next(CassandraIterable.java:35)
at com.myapp.service.packer.PositionParsingService.parse(PositionParsingService.java:60)
at com.myapp.service.packer.PositionLoadService.update(PositionLoadService.java:202)
at com.myapp.service.packer.PositionLoadService.updateVehicle(PositionLoadService.java:129)
at com.myapp.service.packer.PositionLoadService.updateAllVehicles(PositionLoadService.java:99)
at com.myapp.service.packer.PositionLoadService.updateAllVehicles(PositionLoadService.java:84)
at com.myapp.service.packer.PositionLoadService$$FastClassBySpringCGLIB$$2605bc6c.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:115)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory$Evil.defineClass(ClassGeneratingPropertyAccessorFactory.java:1480)
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory$PropertyAccessorClassGenerator.generateCustomAccessorClass(ClassGeneratingPropertyAccessorFactory.java:282)
at org.springframework.data.mapping.model.ClassGeneratingPropertyAccessorFactory.createAccessorClass(ClassGeneratingPropertyAccessorFactory.java:168)
... 21 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at …Run Code Online (Sandbox Code Playgroud) apache-kafka ×1
cassandra ×1
eclipse ×1
java ×1
maven ×1
maven-plugin ×1
memory-leaks ×1
refresh ×1
spring-boot ×1
windowing ×1