我完全能够在两种情况下配置spring boot,这里的问题是哪些更强大并且更推荐,因为我没有在spring boot文档中找到在生产环境中部署它的推荐方法,我对使用嵌入式容器的担忧是:
一般的问题是哪个更好地使用jar文件并在生产中将其作为java -jar jarname.jar执行,或者将包装更改为war将tomcat设置为提供并在空的tomcat中设置生成的war.
我希望你能帮助我.
- -编辑 - -
很多时候,答案取决于,这适用于普通的Web应用程序或其他Web服务.
我正在使用Spring boot + Jersey + Spring安全性,我想拥有公共和私有端点,我想要一个架构如下:
/rest/public/pings
/rest/private/accounts
我的配置如下:
泽西配置:
@Configuration
@ApplicationPath("/rest")
public class RestConfig extends ResourceConfig {
public RestConfig() {
register(SampleResource.class);
}
}
Run Code Online (Sandbox Code Playgroud)
Spring安全配置:
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
........
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/rest/public/**").permitAll();
http.antMatcher("/rest/**").authorizeRequests().anyRequest().fullyAuthenticated().and().httpBasic();
http.csrf().disable();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是如何在my/rest上下文中注册两个应用程序路径,一个用于/ public,另一个用于/ private?
注意:我尝试创建另一个ResourceConfig,如下所示:
@Configuration
@ApplicationPath("/rest/public")
public class RestPublicConfig extends ResourceConfig{
public RestPublicConfig() {
register(PingResource.class);
}
}
Run Code Online (Sandbox Code Playgroud)
但是我得到了下一个错误:
No qualifying bean …
Run Code Online (Sandbox Code Playgroud) 我正在处理 xml,我需要为每条记录发送一条消息,当我收到最后一条记录时,我关闭了 kafka 生产者,这里的问题是 kafka 生产者的发送方法是异步的,因此,有时当我关闭生产者时它trowsjava.lang.IllegalStateException: Cannot send after the producer is closed.
我读的地方,我可以离开了制片人开放。我的问题是:这意味着什么,或者是否有更好的解决方案。
- -编辑 - -
<list>
<element attr1="" att2="" attr3=""/>
<element attr1="" att2="" attr3=""/>
<element attr1="" att2="" attr3=""/>
<element attr1="" att2="" attr3=""/>
<element attr1="" att2="" attr3=""/>
<element attr1="" att2="" attr3=""/>
<element attr1="" att2="" attr3=""/>
<element attr1="" att2="" attr3=""/>
...
</list>
Run Code Online (Sandbox Code Playgroud)
想象以下场景:
问题是元素的数量可能是 80k,因此,有时当我们调用 disconnect 方法时,它会继续以异步方式发送消息。所以我们需要先调用flush方法,但是会影响性能
我想创建一些端点来检索每个国家/地区的异常,startTime和endTime,但我不知道构建端点的正确方法是什么,我一直在与我的同事交谈,我们对如何做到这一点有不同的意见:
选项1路径参数
/ countries/{countryCode}/exceptions?startTime = {value}&endTime = {value} :在特定时间范围内获取每个国家/地区的所有例外情况
/ countries/*/exceptions?startTime = {value}&endTime = {value} :获取特定时间范围内的所有异常
选项2查询参数
/ exceptions?country = {countryCode}&startTime = {value}&endTime = {value}:在特定时间范围内获取每个国家/地区的所有例外情况
/ exceptions?startTime = {value}&endTime = {value} :获取特定时间范围内的所有异常
选项3路径参数以不同的顺序排列
/ exceptions/countries/{countryCode}?startTime = {value}&endTime = {value}:在特定时间范围内获取每个国家/地区的所有例外情况
/ exceptions?startTime = {value}&endTime = {value}:获取特定时间范围内的所有异常
所有3个选项都有利有弊,但我们不同意哪个是最佳做法.问题是创建这些端点的最佳选择是什么.
数组是对象,所有对象都来自一个类.如果我执行以下代码:
public class Test {
public static void main(String[] args) {
String str = "Hello";
System.out.println(str.getClass());
}
}
Run Code Online (Sandbox Code Playgroud)
输出是class java.lang.String
.
但是如果我执行以下内容:
public class Test {
public static void main(String[] args) {
int arr[] = new int[10];
System.out.println(arr.getClass());
}
}
Run Code Online (Sandbox Code Playgroud)
输出是class [I
.
我的问题是:
instanceof
操作员我应该如何使用它?如果我执行System.out.println(arr instanceof Object);
,它完美地工作.我在java中创建一个Soap客户端,我遇到了一个奇怪的错误.
抽象客户端
public abstract class AbstractSoapClient {
private ServerContext context;
private String path;
private static final String WSSE = "";
private static final String CURL = "";
private static final String CURL_PASSWORD = "";
private static final String SECURITY_NODE = "";
private static final String USERNAME_TOKEN = "";
private static final String USERNAME_NODE = "";
private static final String PASSWORD_NODE = "";
public AbstractSoapClient(ServerContext context) {
this.context = context;
}
protected SOAPMessage createRequest(String path) throws SOAPException {
this.path = assembleEndpoint(path); …
Run Code Online (Sandbox Code Playgroud) 我正在使用Kafka connect JDBC源连接器从数据库中的视图中读取并将其发布到kafka上,效果很好。
我的用例是用户可以创建多个对象,并且对象的顺序在我的应用程序中很重要。我想将用户ID用作发布到主题中的所有消息的消息键,以维持其顺序。
我的问题是如何在Kafka Connect源连接器中定义消息密钥?
我有一个带对象的数组.现在我想检查所有这些对象是否是MyObject的实例.
有没有比这更好的选择:
boolean check = true;
for (Object o : justAList){
if (!(o instanceof MyObject)){
check = false;
break;
}
}
Run Code Online (Sandbox Code Playgroud) java ×6
apache-kafka ×2
arrays ×2
rest ×2
spring ×2
spring-boot ×2
jersey ×1
maven ×1
saaj ×1
soap ×1
soap-client ×1
tomcat ×1
web-services ×1