我正在开发一个将在带有tomcat的spring boot上下文中运行的应用程序。该项目在启动时连接到Kafka,提取消息并进行处理。tomcat用于某些管理API。
当Spring加载时,它通过多个线程与Kafka连接。每个线程都与处理消息的Spring bean自动连线。当然,该豆与更多豆等自动连接。
我需要考虑并发问题吗?同步东西?使用并发类型,例如ConcurrentHashMap而不是普通的HashMap?
我需要根据一些数学函数生成整数流,每个值都基于之前的值。
例如 - 假设我想取最后一个数字并加 10:[1, 11, 21, 31, 41, ...]
当然真正的功能要复杂得多。
我尝试以斐波那契为例,但无法使其工作:
Stream.iterate(new long[]{ 1, 1 }, p->new long[]{ p[1], p[0]+p[1] })
.limit(92).forEach(p->System.out.println(p[0]));
Run Code Online (Sandbox Code Playgroud)
我只能从1开始。
这是我尝试做的:
Stream.iterate(new long[]{ 1 }, p-> {p[0], p[0] + 10})
.limit(4).forEach(p->System.out.println(p[0]));
Run Code Online (Sandbox Code Playgroud) 我可以用溪流做这个吗?
StringBuilder text = new StringBuilder();
StringBuilder dupText = new StringBuilder();
String lastLetter = "";
for (Container cont : containersList) {
String letter = cont.getLetter();
text.append(letter);
if (letter.equals(lastLetter) == false) {
dupText.append(letter);
}
lastLetter = letter;
}
System.out.println(text);
System.out.println(dupText);
Run Code Online (Sandbox Code Playgroud)
我查看一下continers列表,每个都有一个char.我需要组装两个字符串 - 一个是所有字符组合,另一个是所有字符但没有耦合重复(ABABAAAB - > ABABAB)
这可以用流完成吗?
我尝试这样做:
Optional<String> text = containersList.stream()
.map(Container::getLetter)
.reduce((letter,accumalator) -> accumalator += letter);
Optional<String> dupText = session.containersList().stream()
.map(Container::getLetter)
.reduce((letter, accumalator) ->{
if ((accumalator.endsWith(letter) == false)) {
accumalator += letter;
}
return accumalator;
});
Run Code Online (Sandbox Code Playgroud) 我正在开发一个可以在MySql和MS SQL上运行的应用程序.
我有一个空间的"几何"类型的字段.
通过使用:
@Column(columnDefinition = "geometry")
private Point geometry;
Run Code Online (Sandbox Code Playgroud)
(点是org.springframework.data.geo.Point)
Hibernate正确创建字段(hbm2ddl).
但是插入任何一点都行不通.我得到:数据截断:无法从发送到GEOMETRY字段的数据中获取几何对象
我使用spring-boot-jpa-starter ..而不是直接休眠.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-spatial</artifactId>
<version>5.2.2.Final</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
问候,Ido
突然间我无法启动嵌入式tomcat.
我明白了:
[main] ERROR o.a.coyote.http11.Http11NioProtocol - Failed to start end point associated with ProtocolHandler ["http-nio-86"]
java.net.SocketException: Permission denied
Run Code Online (Sandbox Code Playgroud)
我试过更改tomcat端口,我试过设置权限:chmod 777 src/-R
我使用linux Mint 17
我不知道该怎么做...
这是堆栈跟踪:
[main] ERROR o.a.coyote.http11.Http11NioProtocol - Failed to start end point associated with ProtocolHandler ["http-nio-86"]
java.net.SocketException: Permission denied
at sun.nio.ch.Net.bind0(Native Method) ~[na:1.7.0_67]
at sun.nio.ch.Net.bind(Net.java:444) ~[na:1.7.0_67]
at sun.nio.ch.Net.bind(Net.java:436) ~[na:1.7.0_67]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) ~[na:1.7.0_67]
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.7.0_67]
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:473) ~[tomcat-embed-core-7.0.52.jar:7.0.52]
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:647) ~[tomcat-embed-core-7.0.52.jar:7.0.52]
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:449) ~[tomcat-embed-core-7.0.52.jar:7.0.52]
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1007) [tomcat-embed-core-7.0.52.jar:7.0.52]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-7.0.52.jar:7.0.52]
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:459) [tomcat-embed-core-7.0.52.jar:7.0.52]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [tomcat-embed-core-7.0.52.jar:7.0.52]
at …Run Code Online (Sandbox Code Playgroud) 我正在解析类似 SQL 的语言,但在解析注释时遇到问题。我们的想法是忽略它们。
我有这些规则:
NEWLINE: '\r'? '\n' -> skip
WS : [ \t]+ -> skip
Run Code Online (Sandbox Code Playgroud)
我怎样才能忽略:
我在 WS 和 NEWLINW 之前尝试过类似的事情:
COMMENT1 : ('--'|'#') ~'\n'* -> skip;
Run Code Online (Sandbox Code Playgroud)
没用 - 我得到:
line 1:115 missing ';' at '<EOF>'
Run Code Online (Sandbox Code Playgroud)
可能是因为它不符合我的主要规则: parse : (statements (';')+)* EOF;
谁能帮我?
问候伊多布
我对lua和aerospike很新.我想开发一个在aerospike上运行的UDF,但我无法通过调试选项找到一种方法.
我试图安装eclipse LDT,但它似乎无法找到aerospike要求.
我怎样才能做到这一点?
我尝试了一些简单的事情:加载表格的所有记录并打印.
function test(rec)
print(rec['bin1'])
end
Run Code Online (Sandbox Code Playgroud)
当然我创建了表并插入了记录.
谢谢
这是一个奇怪的问题。
我们正在使用带有集成 tomcat 的 Spring Boot Web 应用程序。
在我的本地 Mac 上,应用程序启动很快......几秒钟。在装有 Centos 7 的 google 机器上,启动速度非常慢......大约 2 分钟。
应用程序是用 JAVA 8 编写的
有人可以帮忙吗?
假设我有类似以下大查询的简化查询:
WITH test AS (
SELECT 1 AS fieldA, 2 AS fieldB
)
SELECT fieldA, fieldB
FROM test
UNION ALL
SELECT fieldB, fieldA
FROM test;
Run Code Online (Sandbox Code Playgroud)
Big Query 会运行testCTE 两次还是仅运行一次,然后在联合的两个部分之间共享数据?
我在发布此内容之前进行了搜索,我知道 CTE 查询仅适用于一个 SQL 语句。但在这里 - 只有一个语句使用相同的 CTE 两次,我找不到类似的东西。
当然,CTE 查询在现实生活场景中更为复杂,可能包含 ROW NUMBER 窗口函数和 JOINS。
多谢。
我正在构建一个从客户端JSON获取包含俄语数据的应用程序,但是当我尝试打印它时,使用数据或将其返回到客户端我得到一堆"?????"
这是客户端:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="js/angular.min.js"></script>
<script type="text/javascript">
function Ctrl($scope,$http) {
$scope.submit = function() {
//alert($scope.first+" "+$scope.last+" "+$scope.email+$scope.phone+$scope.subject+$scope.message);
$http({
method : 'GET',
url : '/healtcare',
headers: {'Content-Type': 'application/json; charset=UTF-8'},
params: {items:$scope.a}
/* params : {
first : $scope.first,
last : $scope.last,
email : $scope.email,
phone : $scope.phone,
subject : $scope.subject,
message : $scope.message
} */
}).success(function(data, status, headers, config) {
alert(data);
});
};
}
</script>
Run Code Online (Sandbox Code Playgroud)
这是服务器端:
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException; …Run Code Online (Sandbox Code Playgroud) 这是一个基本问题.
我的代码不应该在元数据bean上运行.所有元数据bean都位于元数据包下.
现在,
我使用反射API来确定一个类是否位于元数据包中.
if (newEntity.getClass().getPackage().getName().contains("metadata"))
Run Code Online (Sandbox Code Playgroud)
我在这段代码中的几个地方使用了这个.
问题是:我应该这样做一次:
boolean isMetadata = false
if (newEntity.getClass().getPackage().getName().contains("metadata")) {
isMetadata = true;
}
Run Code Online (Sandbox Code Playgroud)
C++进行优化,并知道此代码已被调用,并且不会再次调用它.JAVA会进行优化吗?我知道反射API很重,我不想丢失昂贵的运行时间.
我正在尝试使用 rx java 调用 http 调用。
它返回一个 Single 对象。
这是代码:
service.getEvent(eventId)
.onErrorResumeNext(exception -> Single.error(exception))
.doOnError(throwable -> log.error(throwable.getMessage())
.subscribe(this::handleEvent)
Run Code Online (Sandbox Code Playgroud)
日志打印“doOnError”中预期的日志行,但也打印堆栈跟踪:
ERROR c.b.w.s.Service:161 - Error: Error, eventId: dummy-event
rx.exceptions.OnError
NotImplementedException: Error
at rx.functions.Actions$NotImplemented.call(Actions.java:576)
at rx.functions.Actions$NotImplemented.call(Actions.java:572)
at rx.Single$11.onError(Single.java:1782)
at rx.internal.operators.SingleDoOnEvent$SingleDoOnEventSubscriber.onError(SingleDoOnEvent.java:76)
at rx.Single$1.call(Single.java:460)
at rx.Single$1.call(Single.java:456)
at rx.Single.subscribe(Single.java:1967)
at rx.internal.operators.SingleOperatorOnErrorResumeNext$2.onError(SingleOperatorOnErrorResumeNext.java:69)
at rx.Single$1.call(Single.java:460)
at rx.Single$1.call(Single.java:456)
at rx.Single.subscribe(Single.java:1967)
at rx.internal.operators.SingleOperatorOnErrorResumeNext.call(SingleOperatorOnErrorResumeNext.java:77)
at rx.internal.operators.SingleOperatorOnErrorResumeNext.call(SingleOperatorOnErrorResumeNext.java:23)
at rx.Single.subscribe(Single.java:1967)
at rx.internal.operators.SingleDoOnEvent.call(SingleDoOnEvent.java:40)
at rx.internal.operators.SingleDoOnEvent.call(SingleDoOnEvent.java:25)
at rx.Single.subscribe(Single.java:1967)
at rx.Single.subscribe(Single.java:1777)
at rx.Single.subscribe(Single.java:1747)
Run Code Online (Sandbox Code Playgroud)
我怎样才能删除堆栈跟踪...另外,我确实实现了 onError ?
single 是正确的选择还是应该使用 Observable?
问候,伊多
我正在将 AWS SQS 与死信队列一起使用。
如果我使用消息,我可以轻松地将消息插入到死信队列中,但我希望将一个小时内未使用的消息自动移动到死信队列中。
这可能吗?我是否缺少配置选项?
问候,伊多
java ×5
spring-boot ×4
java-8 ×2
java-stream ×2
aerospike ×1
amazon-sqs ×1
antlr4 ×1
concurrency ×1
encoding ×1
lua ×1
performance ×1
rx-java ×1
spring ×1
sql ×1