小编Sle*_*led的帖子

可以定制"but:was"子句的输出吗?

我正在尝试编写一个自定义匹配器,在对象图中深入导航以检查重要属性.

assertThat( writeRequest, hasRole("admin") );
Run Code Online (Sandbox Code Playgroud)

当这失败时,我希望看到如下消息:

Expected: "admin"
     but: was "read-only"
Run Code Online (Sandbox Code Playgroud)

然而,当断言失败,它打印出toString()writeRequest,这意味着我需要的信息将是字符串中深.更糟糕的是,沿着对象图是一个生成的类,它不会@Override Object.toString()让你甚至找不到(没有记录或断点)用户的实际角色!

那么,在Hamcrest中,有没有办法自定义but: was子句中出现的输出?

hamcrest

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

如何使用非固定值设置消息处理器间隔参数?(使用存储在property\registry\etc中的值)

我是WSO2 ESB的新手,我对消息处理器有以下问题.

我有这个消息处理器定义,每秒从队列中提取一个元素(以前存储的XML文档)并处理它调用名为transferProcessorSequence的序列.这是配置:

<?xml version="1.0" encoding="UTF-8"?>
<messageProcessor class="org.apache.synapse.message.processor.impl.sampler.SamplingProcessor" messageStore="transferFromMessageStore" name="transferFromMessageProcessor" xmlns="http://ws.apache.org/ns/synapse">
    <parameter name="sequence">transferProcessorSequence</parameter>
    <parameter name="interval">1000</parameter>
    <parameter name="is.active">true</parameter>
    <parameter name="concurrency">1</parameter>
</messageProcessor>
Run Code Online (Sandbox Code Playgroud)

它工作正常.我的问题是我不必每秒都做(它不应该是固定值)但必须使用我已存储到注册表中的值(最终我可以将此值存储在其他地方).

而不是这个设置:

<parameter name="interval">1000</parameter>
Run Code Online (Sandbox Code Playgroud)

我必须从注册表或类似的东西(也是属性)中检索存储的值.

我怎么能这样做?

**编辑1:我正在尝试遵循Jean-Michel提供的解决方案,但我发现在使用Maven构建我的项目时遇到了一些困难.

我创建了一个简单的Maven项目,这是我的pom.xml文件内容(此时我还没有实现Java类,我只是尝试编译一个空项目):

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany.toolkit</groupId>
    <artifactId>SamplingProcessorHeaderRateLimitation</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>bundle</packaging>
    <name>Sampling Processor Header Rate Limitation</name>
    <description>Custom Sampling Mesageprocessor using response header to implement the rate limitation</description>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>2.3.4</version>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>com.sample.messageprocessor</Bundle-SymbolicName>
                        <Bundle-Name>com.sample.messageprocessor</Bundle-Name> …
Run Code Online (Sandbox Code Playgroud)

java esb wso2 wso2esb wso2-message-broker

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

导入BOM表pom时如何覆盖Spring Boot的版本号?

如何覆盖Spring Boot导入的版本号,而无需在依赖项管理部分中手动设置每个工件?

<properties>
    <spring.boot.version>1.5.7.RELEASE</spring.boot.version>
    <jackson.version>2.9.1</jackson.version>
</properties>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>${spring.boot.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson</groupId>
            <artifactId>jackson-bom</artifactId>
            <version>${jackson.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

但是,当我跑步时

mvn dependency:tree "-Dincludes=com.fasterxml.jackson.*" -Dverbose
Run Code Online (Sandbox Code Playgroud)

输出

[INFO] ------------------------------------------------------------------------
[INFO] Building dpt-domain-core 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ dpt-domain-core ---
[INFO] net.initech.dpt:dpt-domain-core:jar:1.0.0
[INFO] +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.10:compile
[INFO] |  +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile - omitted for duplicate)
[INFO] |  \- (com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile - omitted for duplicate)
[INFO] \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.8.10:compile
[INFO]    +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile - …
Run Code Online (Sandbox Code Playgroud)

maven spring-boot maven-bom

6
推荐指数
2
解决办法
4492
查看次数

PHP中的GOTO命令?

我听说有传言称PHP正计划引入"goto"命令.该怎么办?

我尝试了一下,但没有找到任何描述性的东西.我明白这不会是一个" GOTO 10"式的命令......

php language-features goto

5
推荐指数
2
解决办法
2368
查看次数

如何用UML表示类实例?

我有一个我的应用程序的类图,它包含几个组合和聚合.

现在我想要基于显示类实例的类图的图表.如果你愿意的快照.我需要这个,因为它有助于讨论一些功能需求.

类图:

 --------   1                 *  ------- 
| Parent |----------------------| Child |
 --------                        -------
Run Code Online (Sandbox Code Playgroud)

"实例"图:

 --------                        --------- 
| Parent |----------------------| Child 1 |
 --------           |            ---------
                    |
                    |            ---------
                    +-----------| Child 2 |
                    |            ---------
                    |
                    |            ---------
                    +-----------| Child 3 |
                                 ---------
Run Code Online (Sandbox Code Playgroud)

这有图表类型吗?(目前我错误地使用了类图,其中我的所有实例都是单独的类)

uml class-diagram object-diagram

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

如何管理大量权限?

我正在开发具有CRM功能的大型Java EE Web应用程序,我们正在寻找安全性方法/库/解决方案/任何东西。基本的基于角色的安全性将无法正常工作,因为访问控制必须同时基于角色层次结构,但必须可以选择对每个文档进行自定义。因为将存储机密和专有信息,所以安全性必须正常工作。

示例:要使用百货商店,货架缠扰者存货商可以创建报告,其他存货商只能在以下情况下阅读他们在同一个部门。现在,他们的部门经理可以读取/写入/更新/删除库存人员编写的所有报告,并编写报告,所有其他部门经理可以阅读但看不到商店经理的报告等,而区域经理可以对它们进行读/写/读/写等现在,问题变得复杂了:较高级别的人员可以使较低级别的人员可以看到东西,无论是个人(部门将文档写给几个特定的​​库存商)的用户,还是其下的每个人(商店经理向整个商店写备忘录)或您可以想象的排列。此外,个人可以创建其同事无法看到的报告,也可以选择授予对其他地区的商店库存者的访问权限。

我们正在考虑对每个实体授予一个权限的ACL,但担心会创建大量记录。即使只有一个报告对30人的部门中的每个人及其上方的每个人(在命令链中)可读,创建一个报告也将需要约40条记录!每个用户每周有1个报告,即每个用户每年2000个权限。1,500个用户意味着每年超过3,000,000个权限。

看起来基于规则引擎的方法似乎不错,但是我没有看到任何博客或文章提到该方法,因此我们对这种方法感到犹豫。

我们还在考虑使用某些ACL /规则自酿混合功能,您可以在其中授予区分“ manager”或“ stockers”等标识符的部门ID进行子选择,但担心检查所有可能的权限(您可能会被授予特别是由另一个用户授予的许可,您有权作为部门的成员,您可能具有作为商店或区域成员的许可),听起来像是容易出错的繁琐噩梦。

什么是我们应用程序的最佳方法?

java security acl java-ee

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

如何设置EmbeddedSolrServer实例?

我无法EmbeddedSolrServer运行.JavaDoc for CoreContainer稀疏至少可以说.我看过"MergeIndexesEmbeddedTest",我的代码看起来应该可行.(这是一个Maven项目)我在src/main/resources文件夹的根目录中有"Schema.xml"和"solr.xml" .我可以实例化服务器,但当我尝试添加SolrInputDocument到服务器时,我得到:

org.apache.solr.common.SolrException: 'No such core: butterfly'
at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:104)
at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:64)
Run Code Online (Sandbox Code Playgroud)

我设置服务器的代码是:

final File solrConfigXml = new File( "C:/code/butterfly/src/main/resources/solr.xml" );
final String solrHome = "C:/code/butterfly/src/main/resources/";
CoreContainer coreContainer;
try{
    coreContainer = new CoreContainer( solrHome, solrConfigXml );
}catch( Exception e ){
    e.printStackTrace( System.err );
    throw new RuntimeException( e );
}
solrServer = new EmbeddedSolrServer( coreContainer, "butterfly" );
Run Code Online (Sandbox Code Playgroud)

我的solr.xml文件是:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
    <cores adminPath="/admin/cores" defaultCoreName="butterfly1">
          <core name="butterfly" …
Run Code Online (Sandbox Code Playgroud)

java lucene solr

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

用于编码/解码EXI的java示例?

我正在寻找一个Java示例程序,用于使用EXIficientOpenEXI编码/解码EXI(高效XML交换)流.

有人可以帮忙吗?我似乎无法找到一个示例应用程序.

编辑:或者,如果有人可以指向我允许我使用EXIficient或OpenEXI的文档,那将是有帮助的.我找到了javadoc,但我不知道要使用哪个类.

或者,正如@StaxMan指出的那样,是否有一个特定的提及/讨论适当的顶级类与一个标准XML API一起使用?

java xml exi exificient openexi

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

如何在一个pom文件中生成两个xmlbeans

我试图在一个项目中生成两个xmlbeans.例如,每一个都获得参与者对象,因此我不能将它们放在一个配置中.我的方式是使用两次执行,这是我的pom文件:

            <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>xmlbeans-maven-plugin</artifactId>
            <version>2.3.3</version>
            <executions>
                <execution>
                    <id>xmlbean1</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>xmlbeans</goal>
                    </goals>
                    <configuration>
                        <xmlConfigs>
                            <xmlConfig implementation="java.io.File">src/main/xsdconfig/xmlbean1</xmlConfig>
                        </xmlConfigs>
                        <verbose>true</verbose>
                        <schemaDirectory>src/main/xsd/xmlbean1</schemaDirectory>
                    </configuration>
                </execution>
                <execution>
                    <id>xmlbean2</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>xmlbeans</goal>
                    </goals>
                    <configuration>
                        <xmlConfigs>
                            <xmlConfig implementation="java.io.File">src/main/xsdconfig/xmlbean2</xmlConfig>
                        </xmlConfigs>
                        <verbose>true</verbose>
                        <schemaDirectory>src/main/xsd/xmlbean2</schemaDirectory>
                    </configuration>
                </execution>
            </executions>
            <inherited>true</inherited>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

但它根本不起作用.有人可以帮助我,谢谢

java xmlbeans maven xmlbeans-maven-plugin

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

什么是MyBatis等同于iBatis <isParameterPresent>标签?

我正在移植一些旧的iBatis版本2.?代码,我想知道如何更换<isParameterPresent>标签?我已经阅读了MyBatis用户指南,知道你可以做一个<if test="">但我不知道如何引用参数对象?它有一个特殊的名字吗?是否有不同的标签可供使用?

java xml ibatis mybatis

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