情况是我有两个不同的资源包,一个是通用的,另一个是更具体的.它们不共享任何消息密钥.
一般一:
<bean id="messageSourceGlobal" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages/messagesGlobal" />
</bean>
Run Code Online (Sandbox Code Playgroud)
我将一般的一个包含在我的特定文件中(显然是不同的文件):
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="messages/messages" />
<property name="parentMessageSource" ref="messageSourceGlobal" />
</bean>
Run Code Online (Sandbox Code Playgroud)
Java代码然后自动装配它:
@Autowired
private MessageSource messages;
Run Code Online (Sandbox Code Playgroud)
这将在启动web-app时导致异常,因为MessageSource
找到了两个s.显然我可以用一个@Qualifier
来向Spring说清楚我想要什么.但是,一般资源包不会单独使用.因此,我认为在这种情况下隐藏一般资源包从依赖注入是有意义的.一个好处是其他人不会遇到"重复".
这可能吗?我该怎么做?
我正在AudioTrack
Android上播放PCM WAV声音文件(另见此处).流模式,工作线程.我想知道如何检测声音的结束,以便我可以释放并释放声音AudioTrack
.write()
看起来,这个调用是阻塞的 - 但它会阻塞,直到所提供数据的回放完成为止?不太确定.
是我,还是这个班级的文件严重不足?如果你碰巧有一个很好的非官方指南的链接AudioTrack
,我愿意看到一个.
也许我只是在我的突触中有一个结...
public static <T extends Number> T firstNonZero(T... values) {
for (T value : values) {
if (value.doubleValue() != 0.0) {
return value;
}
}
return (T) 0; // Cannot cast from int to T
}
Run Code Online (Sandbox Code Playgroud)
我想我不需要解释上面的方法.我的问题是我需要"生成"类型的零T
.
我怎么做?
这是我的代码的缩短示例,以证明我的观点:
public class Tmp {
static class X {
void setStr(String blah) {
}
String getStr() {
return null;
}
}
public void test() {
createCheck(X::getStr, ""); // supposed to compile
createCheck(X::getStr, 123); // rather not: int isn't String
}
private <T, V> BiPredicate<T, String> createCheck(Function<T, V> func, V value) {
return new BiPredicate<T, String>() {
@Override
public boolean test(T t, String ref) {
assertThat(func.apply(t))
.as(ref)
.isEqualTo(value);
return true;
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
恕我直言,编译器应该看到,V
在createCheck()
应该String
从吸气剂的功能,这就是为什么要抱怨的INT到来.或者相反. …
我正在尝试运行Logstash以通过代理将输出发送到Elasticsearch.据我所知,输出没有配置允许我指定代理.目前我使用:
output {
elasticsearch {
protocol => "http"
host => "es-dev.local"
port => "9200"
index => "logstash-analysis-%{+YYYY.MM.dd}"
flush_size => "200"
workers => "2"
template_name => "logstash_per_index"
}
}
Run Code Online (Sandbox Code Playgroud)
elasticsearch_http
也没有选择权.我如何使用代理?