小编Roy*_*ijn的帖子

Eclipse Juno是否错误地使用了这个模糊的方法错误?

今天我一直在玩Eclipse Juno.来自Helios,这是一个很好的升级.一切正常,除了一个新的编译错误.

我们使用java.net框架'Fuse',我们调用以下方法:

ResourceInjector.get().inject(true, this);
Run Code Online (Sandbox Code Playgroud)

Eclipse告诉我们:

The method inject(Object[]) is ambiguous for the type ResourceInjector
Run Code Online (Sandbox Code Playgroud)

以下方法发生冲突:

inject(Object... components);
inject(boolean arg0, Object... arg1);
Run Code Online (Sandbox Code Playgroud)

它在Eclipse Helios中运行良好(使用Java 1.6.0.25),但现在它提供了编译错误,并且不想再运行了.在我们看来,这是Eclipse Juno中的一个错误,如果我们使用Maven进行构建是很好的建设......有人知道解决这个问题吗?

java eclipse autoboxing eclipse-juno

11
推荐指数
1
解决办法
4933
查看次数

性能从Hazelcast 2.5升级到3+

由于Hazelcast 2.5中已知(固定)的错误,我们已经确定这将是我们项目的下一个升级候选者.但是在放入最新版本(3.2.2)后,我们的表现非常糟糕.

我们使用Hazelcast的方式:

  • 两个节点
  • 多个IMap实例(总共约7个地图)
  • 两个节点都更新地图
  • 地图上有很多内容
  • 启用near-cache以加快读取速度

使用Hazelcast 2.5 map.values(),我们提供了一个包含所有包含密钥的列表,而不是使用它们map.getAll(containedKeys).我们通过EntryListener在映射中添加一个来跟踪containsKeys的方式,该映射将containsKeys存储在并发集中.这是由一位同事添加的,感觉就像一个黑客,但工作就像一个魅力.

现在,当我们升级到Hazelcast 3.2.2时,我们立即发现问题java.io,例如,请查看AppDynamics的以下代码段:

com.hazelcast.map.proxy.MapProxyImpl:getAll:326 (method time = 0 ms, total time = 18938 ms)
 com.hazelcast.map.proxy.MapProxySupport:getAllObjectInternal:495 (method time = 0 ms, total time = 18938 ms)
  com.hazelcast.map.MapService:toObject:852 (method time = 0 ms, total time = 18938 ms)
   com.hazelcast.spi.impl.NodeEngineImpl:toObject:156 (method time = 0 ms, total time = 18938 ms)
    com.hazelcast.nio.serialization.SerializationServiceImpl:toObject:221 (method time = 0 ms, total time = 18938 ms)
     com.hazelcast.nio.serialization.StreamSerializerAdapter:read:59 (method time = 0 …
Run Code Online (Sandbox Code Playgroud)

java java-io hazelcast appdynamics

7
推荐指数
1
解决办法
833
查看次数

Spring WS (DefaultWsdl11Definition) 带 void 的 HTTP 状态代码

我们有一个基于 Spring WS 和DefaultWsdl11Definition的(工作的)SOAP Web 服务。

基本上是这样的:

@Endpoint("name")
public class OurEndpoint {

    @PayloadRoot(namespace = "somenamespace", localPart = "localpart")
    public void onMessage(@RequestPayload SomePojo pojo) {
        // do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

它是在 Spring 中连接的,并且可以正确处理我们所有的 SOAP 请求。唯一的问题是该方法返回202 Accepted。这不是调用者想要的,他宁愿让我们返回204 No Content(或者如果不可能,则返回空的200 OK)。

我们的其他端点有一个有效的响应对象,并且返回200 OK。似乎 void 导致202,而204可能更合适?

是否可以更改 Spring WS 中的响应代码?我们似乎找不到正确的方法来做到这一点。

我们尝试过但不起作用的事情:

  • 将返回类型更改为:
    • HttpStatus.NO_CONTENT
    • org.w3c.dom.Element <- 不接受
  • 添加@ResponseStatus <- 这是用于 MVC,而不是 WS

有任何想法吗?

spring soap web-services spring-ws http-status-codes

5
推荐指数
1
解决办法
4993
查看次数