转到Idea 13中的某些代码文件.右键单击它.为什么"Git->显示历史"和"Git->显示选择历史"选项是灰色的,使用Git和Intellij Idea 13?
我在 Spring 中使用 ModelMapper。在我的控制器类中,我正在自动装配 ModelMapper bean:
@Autowired
private ModelMapper mapper;
Run Code Online (Sandbox Code Playgroud)
我想在我的控制器方法中在模型类和 DTO 之间进行显式映射,例如:
modelMapper.addMappings(mapper -> {
mapper.map(src -> src.getBillingAddress().getStreet(),
Destination::setBillingStreet);
mapper.map(src -> src.getBillingAddress().getCity(),
Destination::setBillingCity);
});
Run Code Online (Sandbox Code Playgroud)
然后使用映射器来映射类。
我的问题是,在每个控制器方法调用中添加显式映射是否正确?对象模型映射器会开始增加内存大小吗?
另一种解决方案是在创建 ModelMapper bean 时只添加一次映射,但我认为将映射逻辑放在 bean 配置中不是一个好的决定。
假设我们有两个执行者,1 和 2。
我们可以配置执行时使用哪个执行器
CompletableFuture<Integer> cf1 = CompletableFuture.supplyAsync(()-> {return 1;}, executor1) //executor1
CompletableFuture<Integer> cf2 = CompletableFuture.supplyAsync(()-> {return 2;}, executor1) //executor1
CompletableFuture<Integer> cf3 = CompletableFuture.supplyAsync(()-> {return 3;}, executor2) //executor2
Run Code Online (Sandbox Code Playgroud)
但是哪个线程执行器使用 CompletableFuture 静态方法 allOf?
CompletableFuture.allOf(cf1, cf2, cf3)
Run Code Online (Sandbox Code Playgroud)
谢谢!
在 Spark 独立集群中,master(以 start_master.sh 脚本开始的节点)的角色究竟是什么?
我知道这是从 submit-job.sh 脚本接收作业的节点,但它在处理作业时的作用是什么?
我在 Web UI 中看到,它总是将作业交付给从站(以 start_slave.sh 开头的节点)并且不参与处理,对吗?在这种情况下,我是否还应该在与 master 相同的机器上运行脚本 start_slave.sh 以利用其资源(cpu 和内存)?
提前致谢。
我写了这个通用谓词:
private static <T> Predicate<T> isNull(){
return Objects::isNull;
}
Run Code Online (Sandbox Code Playgroud)
但是我不能将它与其他这样的谓词结合使用:
private static Predicate<String> isEmpty(){
return string -> string.isEmpty();
}
Run Code Online (Sandbox Code Playgroud)
因为这个片段不会编译(期望 Predicate<String> in or operation):
isNull().or(isEmpty())
Run Code Online (Sandbox Code Playgroud)
有什么想法可以解决吗?谢谢!
假设一个 Java 线程执行一些 I/O 操作,比如使用传统的阻塞 Java I/O 读取文件。
问题是:等待时线程的状态是什么?
我不知道它是 RUNNING(进行一些主动等待)还是 WAITING(也许有某种监视器在文件数据准备好时唤醒线程)。
我怎样才能找到它?
谢谢。
这个Scala代码a)效果很好:
val f : Function[String, String] = { case "a" => "b"}
f.apply("a") //returns "b"
Run Code Online (Sandbox Code Playgroud)
和b)相同
"a" match { case "a" => "b" } //returns "b"
Run Code Online (Sandbox Code Playgroud)
1)b)中的匹配子句是a)的句法糖吗?
2)为什么这不起作用......?
{ case "a" => "b"}.apply("b") //Does not compile
Run Code Online (Sandbox Code Playgroud)
谢谢!
任何人都知道是否可以使用 Rabbit 模板将一组消息发送到队列?
显然我可以一次发送一个,但我想在单个批量操作中完成(以获得性能)。
谢谢!
我有这个方法:
public static <T> List<T> flat(List<T>... lists){
return Stream.of(lists)
.filter(Objects::nonNull)
.flatMap(List::stream)
.collect(toList());
}
Run Code Online (Sandbox Code Playgroud)
我们的想法是平放列表列表并返回相同类型的列表.
假设A并B扩展C.这不起作用:
List<A> listOfA;
List<B> listOfB;
List<C> listOfC = flat(listOfA, listOfB);
Run Code Online (Sandbox Code Playgroud)
因为List<A>不是List<C>!
任何人都知道如何使用泛型来编写平面方法签名,承认我正在尝试做什么?
谢谢!
我想知道使用 spring.cloud.stream.default.consumer.concurrency 属性时“并发”的确切含义。
文档(https://docs.spring.io/spring-cloud-stream/docs/Chelsea.RELEASE/reference/html/_configuration_options.html)说“入站消费者的并发性”,这可以有多种解释。
幕后创建了什么样的线程执行器?
谢谢!
我想使用 Java DSL 进行 Spring Integration,但我不知道如何在转换过程中使用消息头。
我的旧实现有一个像这样的 Transformer:
@Transformer(inputChannel = "inputChannel", outputChannel = "outputChannel")
public EventB transform(
EventA eventA,
@Header("a_header") String aHeader,
@Header("other_header") String otherHeader){
return new EventB(eventA.getSomeField(), aHeader, otherHeader);
}
Run Code Online (Sandbox Code Playgroud)
现在我有以下 DSL:
@Bean
public IntegrationFlow aFlow(){
return IntegrationFlows.from(EventASink.INPUT)
.filter("headers['operation'] == 'OPERATION_A'")
.transform() //<-- What should I do here?
.handle(Http.outboundGateway(uri).httpMethod(HttpMethod.POST))
.get();
}
Run Code Online (Sandbox Code Playgroud)
我查看了transform()方法的实现,发现它可以接收GenericTransformer作为参数,但它似乎只适用于消息有效负载,而且我还需要标头。
我还看到可以使用某种反射,但我不喜欢它,因为它不重构安全。
有什么建议吗?提前致谢。
我在 JUnit 中使用空手道框架。
使用此功能:
Given path 'save_token'
And request
"""
{
"token": "test_token"
}
"""
And retry until response.tokens ==
"""
[
"test_token"
]
"""
When method POST
Run Code Online (Sandbox Code Playgroud)
我有这个例外:
java.lang.ArrayIndexOutOfBoundsException: 1
at com.intuit.karate.core.MethodMatch.convertArgs(MethodMatch.java:60)
at com.intuit.karate.core.Engine.executeStep(Engine.java:141)
at com.intuit.karate.core.ScenarioExecutionUnit.execute(ScenarioExecutionUnit.java:171)
Run Code Online (Sandbox Code Playgroud)
当 response.tokens 列表为空时:
{
"tokens": []
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么 == 在这种情况下不起作用(它应该返回 false,并继续重试)。
提前致谢!
我想在不使用 Airflow UI 的情况下创建 Mongo 连接(默认除外)。
我从气流文档中读到:
可以使用环境变量创建 Airflow 管道中的连接。环境变量需要有一个AIRFLOW_CONN_ 前缀,用于Airflow,其值为URI 格式才能正确使用连接。
在 Airflow 管道中引用连接时,conn_id 应该是不带前缀的变量名称。例如,如果 conn_id 命名为 postgres_master,则环境变量应命名为 AIRFLOW_CONN_POSTGRES_MASTER(注意环境变量必须全部大写)。
我尝试在使用Puckel docker image时应用它。
这是使用该图像的 docker compose:
version: '2.1'
services:
postgres:
image: postgres:9.6
environment:
- POSTGRES_USER=airflow
- POSTGRES_PASSWORD=airflow
- POSTGRES_DB=airflow
webserver:
image: puckel/docker-airflow:1.10.6
restart: always
depends_on:
- postgres
environment:
- LOAD_EX=n
- EXECUTOR=Local
- AIRFLOW_CONN_MY_MONGO=mongodb://mongo:27017
volumes:
- ./src/:/usr/local/airflow/dags
- ./requirements.txt:/requirements.txt
ports:
- "8080:8080"
command: webserver
healthcheck:
test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
interval: 30s
timeout: 30s
retries: …Run Code Online (Sandbox Code Playgroud) java ×4
generics ×2
java-8 ×2
airflow ×1
apache-spark ×1
git ×1
history ×1
inheritance ×1
java-stream ×1
java-threads ×1
karate ×1
modelmapper ×1
predicate ×1
rabbitmq ×1
scala ×1
show ×1
spring ×1
spring-boot ×1