我只是想了解一下Java如何在JRE中包含标准参考实现(例如JRE6中的JAXB/JAX-WS),同时仍然允许第三方实现覆盖它(例如CXF).
我找到了找到javax.xml.ws.spi.FactoryFinder.find()方法的地方,该方法可以找到META-INF/services/java.xml.ws.spi.Provider或com中指定的类. sun.xml.internal.ws.spi.ProviderImpl(对于JAX-WS案例)并创建一个实例.
我找不到的是JRE调用FactoryFinder.find()方法的时间/位置/在哪个阶段.
任何人都可以开导我吗?
[编辑]我找到了答案,但我不允许自己发布另外3个小时......
我正在尝试创建一个具有"Pair"作为其键的Cache,并从该帖子中获取该Pair类.
我尝试着:
CacheLoader<Pair<String, String>, String> loader =
new CacheLoader<Pair<String, String>, String>() {
public String load(Pair<String, String> key) {
return GetRatingIdentityByShortNameLoader(key.first, key.second);
}
};
_ratingIdCache = CacheBuilder.newBuilder()
.concurrencyLevel(a_conclevel.intValue())
.maximumSize(a_maxsize.intValue())
.expireAfterAccess(a_maxage.intValue(), TimeUnit.MINUTES)
.build(loader);
Run Code Online (Sandbox Code Playgroud)
哪个无法在Eclipse中编译(helios,java 1.6):
CacheBuilder类型中的方法构建(CacheLoader)不适用于参数(new CacheLoader,String>(){})
有没有人对如何解决这个问题有任何建议?我需要有一个存储"ID"的缓存的目标,其中"主键"是"评级机构"+"评级".
番石榴10.0.1
有谁知道我需要将 ActiveMQ 5.11 中的哪些 jar 与 IBM Websphere Application Server 8.5 一起使用才能创建新的 ActiveMQ JMS 提供程序?
我发现与旧 ActiveMQ 版本相关的讨论似乎不再适用,因为 ActiveMQ 的打包方式已经改变:
ActiveMQ 5.11似乎不再有activemq-core,activeio-core处于“可选”状态,ActiveMQ似乎已经从commons-logging切换到slf4j,这本身似乎会导致问题,因为WAS本身就自带了slf4j jar 的过时版本(请参阅此处的其他问题)。
任何建议都将受到高度赞赏。