小编Mac*_*las的帖子

Mockito - 对真实物体进行间谍活动称为原始方法

想象一下以下代码:

List list = .....
List spy = spy(list);
doThrow(new NullpointerException()).when(spy).get(0);
Run Code Online (Sandbox Code Playgroud)

doThrow(....)执行list.get(0)- 这根本没有意义.我想定义模拟行为,而不是在这里调用方法.....我错过了什么?

编辑:列表由CGLIB装饰.当我删除CGLIB代理时,Mockito按预期工作.任何想法在使用CGLIB代理时如何解决这样的问题?

java mockito

20
推荐指数
1
解决办法
3万
查看次数

IntelliJ 12 - maven多模块无法解决传递依赖性

我已经导入了maven多模块项目,并且没有解决一些传递依赖项.这个项目在Jenkins/Eclipse/Console中构建.

我已经尝试了两个单独导入每个项目,并且还只导入父pom - 两者都不起作用.

我有以下结构:Project A并且Project B具有公共父级,并且两者都被定义为此父级中的模块.Project A包含作为依赖项jackon-jar,Project B没有它.Project A包含默认范围内的jackson-jar - jar在编译期间可见并且测试正在运行.现在Project B进口Project A,也使用杰克逊罐 - 这里是问题 - 杰克逊罐在不可见的Project B:(当我在Project B所有工作中明确指定它工作正常,但它应该自动作为传递依赖从Project A......

这是常见问题吗?有解决方法吗?

以下是POM示例:

家长:

<project ....>
    <modelVersion>4.0.0</modelVersion>

    <version>1.0-SNAPSHOT</version>
    <groupId>miklas.test</groupId>
    <artifactId>my-parent</artifactId>
    <packaging>pom</packaging>

    <modules>
        <module>my-project-a</module>
        <module>my-project-b</module>
        <module>my-project-c</module>
    </modules>
</project>
Run Code Online (Sandbox Code Playgroud)

项目-A

<project ....>
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>miklas.test</groupId>
        <artifactId>my-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>my-project-a</artifactId>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jackson-provider</artifactId>
            <version>2.3.4.Final</version>
        </dependency>
    </dependencies>

</project>
Run Code Online (Sandbox Code Playgroud)

项目-B

<project >
    <modelVersion>4.0.0</modelVersion> …
Run Code Online (Sandbox Code Playgroud)

intellij-idea

14
推荐指数
1
解决办法
6407
查看次数

Cassandra - 行键的唯一约束

我想知道Cassandra何时可以在行键上指定唯一约束.类似于SQL Server的东西ADD CONSTRAINT myConstrain UNIQUE (ROW_PK)

如果插入已存在的行键,则不会覆盖现有数据,但是我收到一些异常或响应,由于约束违规而无法执行更新.

也许这个问题有一个解决方法 - 有一些计数器可以将接缝更新为原子

谢谢,

马切伊

cassandra

12
推荐指数
4
解决办法
2万
查看次数

Cassandra 2 - 使用CQL 3列出现有索引

是否有CQL查询列出特定键空间或列族的所有现有索引?

cql cassandra

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

Resteasy - 从Javadoc和Annotations生成REST文档

我想找到一种方法从Java代码(WADL或HTML)生成漂亮的REST API文档 - 基于JAXB,JAX-RS注释和java doc注释(请不要doclet).

这是我的项目环境

  • Spring,没有XML注释
  • Rest-easy作为REST提供者
  • JAXB和JAX-RS注释
  • Mime用于JSON中的rest API

java rest jax-rs jax-ws resteasy

7
推荐指数
2
解决办法
2万
查看次数

Cassandra作为重载下的会话商店

我想使用Cassandra存储与会话相关的信息.我没有真正的HTTP会话 - 它是不同的协议,但是相同的概念.

Memcached会很好,但我想另外保留数据.

卡桑德拉设置:

  • 非复制密钥空间
  • 单列族,其中键是会话ID,行中的每列存储单键/值 - (Map<String,Set<String,String>>)
  • 列TTL = 10分钟
  • 写CL = ONE
  • 读CL = ONE
  • 2.000写/秒
  • 5.000读/秒

数据示例:

session1:{ // CF row key
   {prop1:val1, TTL:10 min},
   {prop2:val2, TTL:10 min},
.....
   {propXXX:val3, TTL:10 min}
},
session2:{ // CF row key
   {prop1:val1, TTL:10 min},
   {prop2:val2, TTL:10 min},
},
......
sessionXXXX:{ // CF row key
   {prop1:val1, TTL:10 min},
   {prop2:val2, TTL:10 min},
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,一致性不是问题,但性能可能是,尤其是磁盘IO.

由于我的会话中的数据离开的时间很短,我想避免将其存储在硬盘上 - 除了提交日志.

我有一些问题:

  1. 如果列在Memtable中过期,然后将其刷新到SSTable,那么Cassandra是否会将此列存储在SSTable中(将其刷新到HDD)?
  2. 我的Key Space禁用了复制,在这种情况下,不需要在SSTable中存储这样的过期列,对吧?
  3. 每个CF帽最多10列.在这种情况下,我将启用行缓存并禁用密钥缓存.但是我希望我的数据在Memtable中仍然可用,在这种情况下我可以禁用整个缓存,对吧?
  4. 对于这样的会话存储用例的任何Cassandra配置提示都会非常感激:)

谢谢,Maciej

cassandra

6
推荐指数
1
解决办法
3012
查看次数

Cassandra - 客户端负载平衡

考虑遵循Cassandra设置:

  • 6个节点的环:A,B,D,E,F,G
  • 复制因子:3
  • 分区器:RandomPartitioner
  • 放置策略:SimpleStrategy

我的测试列存储在节点B上并复制到节点D和E.

现在我有多个java进程通过读取CL.ONE读取我的Test-Column槽Hector API(Thrift)

有两种可能性:

  1. Hector会将所有呼叫转发到节点B,因为B是数据主设备
  2. Hector将通过节点B,D和E(主数据和重复数据)对读取调用进行负载平衡.在这种情况下,我的测试列将被加载到每个Cassandra实例的缓存中.

哪一个是1)或2)?

谢谢和问候,Maciej

cassandra

6
推荐指数
1
解决办法
1650
查看次数

禁用hashCode和equals的checkstyle

我需要示例配置来完全禁用check-style for hashCode()equals()methods.

java coding-style checkstyle

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

如何从三叶草覆盖率报告中排除方法(哈希码和等号)?

我想排除hashCodeequals从三叶草报告.
一些配置示例会很好.

java clover

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

spring-el线程中的SpelExpression安全吗?

Expression exp = parser.parseExpression("myParam.getValue()");
Run Code Online (Sandbox Code Playgroud)

Expression类线程安全的?我想将其存储在全局缓存中,ConcurrentHashMap以避免每次访问都进行编译。

java spring spring-el

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