小编Vad*_*zim的帖子

如何找到一个horneq队列长度

我正在使用Hornetq 2.0我不知道我怎么知道目前有多少消息在队列中.

这是一个非常有用的功能,所以我可以在运行时知道我的消费者是否足够快地消费消息.

我没有使用JMS api,而是使用高度优化的核心API.

获取队列中消息数的正确(最快)方法是什么?

我找到了2路,但不知道这是什么方法.

public int size(){

    ClientSession session;

    try {

        session = sf.createSession(false, false, false);

        ClientRequestor requestor = new ClientRequestor(session, "hornetq.management");

        ClientMessage m = session.createMessage(false);

        ManagementHelper.putAttribute(m, "core.queue." + queueName, "messageCount");

        ClientMessage reply = requestor.request(m);

        int count = (Integer) ManagementHelper.getResult(reply);

        return count;

    } catch (Exception e) {

        e.printStackTrace();

    }

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

要么

public synchronized int size(){

    ClientSession coreSession = null;

    int count = 0;

    try {

        coreSession = sf.createSession(false, false, false);

        ClientSession.QueueQuery result;

        result = coreSession.queueQuery(new …
Run Code Online (Sandbox Code Playgroud)

java jms message-queue hornetq

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

Java如何处理内存中的String对象?

有人问我这个问题:

String s = "abc"; // creates one String object and one
          // reference variable
In this simple case, "abc" will go in the pool and s will refer to it.
String s = new String("abc"); // creates two objects,
                 // and one reference variable*
Run Code Online (Sandbox Code Playgroud)

基于以上细节,在下面的代码的println语句之前创建了多少个String对象和多少个引用变量?

String s1 = "spring ";
String s2 = s1 + "summer ";
s1.concat("fall ");
s2.concat(s1);
s1 += "winter ";
System.out.println(s1 + " " + s2);
Run Code Online (Sandbox Code Playgroud)

我的回答是这个代码片段的结果是春冬春夏

有两个参考变量,s1和s2.共创建了八个String对象:"spring","summer"(lost),"spring summer","fall"(lost),"spring fall"(lost),"spring spring spring"(丢失) ),"冬天"(丢失),"春天的冬天"(此时"春天"丢失).

在此过程中,八个String对象中只有两个不会丢失.

这是对的吗?

java string scjp

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

为什么将SQL日期变量与null进行比较会以这种方式运行?

我刚刚遇到一个有趣的问题,我正在用SQL编写一个程序.

在我的proc中我有2个日期,它们是默认为NULL的可选参数,我想检查这些参数是否为空并且如果不是我的proc的一部分,如果它们为null则则忽略proc的额外部分.

我做了一个相当基本的IF(@dateVariable <> NULL AND @DateVariable2 <> NULL)声明,但if语句永远不会工作,即使变量不为null,我会假设SQL正在努力将日期与NULL进行比较,这很奇怪,因为datetime可以为空.

为了解决这个问题我只是做了IF(DateVariable IS NOT NULL)正确的工作.我也尝试过IF( ISNULL(@DateVariable,'') <> '')也能正常工作

所以我的问题是为什么第一个IF不起作用,但第二个和第三个IF都这样做,因为两者都必须在某个时候将变量的内容与null进行比较?

例:

-----失败-----

DECLARE @Date DATETIME
SET @Date = CURRENT_TIMESTAMP

IF (@Date <> NULL)
BEGIN
    print('a')
END
Run Code Online (Sandbox Code Playgroud)

-----作品-----

DECLARE @Date DATETIME
SET @Date = CURRENT_TIMESTAMP

IF (ISNULL(@Date,'') <> '')
BEGIN
    print('a')
END

DECLARE @Date DATETIME
SET @Date = CURRENT_TIMESTAMP

IF (@Date IS NOT NULL)
BEGIN
    print('a')
END
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures sql-server-2008

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

播放Websocket示例 - 只有一位Akka演员?

在随播放框架提供的Websocket聊天示例中,在我看来,只创建/使用了一个actor; 它还使用"接收",如果我理解的话,强制演员和线程之间的1:1映射,有效地使这个聊天服务器单线程?

在这里查看代码:https://github.com/playframework/Play20/blob/master/samples/scala/websocket-chat/app/models/ChatRoom.scala

如果这个分析正确吗?如果是,您是否有关于如何使该服务器具有高度可扩展性的指针?

scala actor akka playframework playframework-2.0

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

如何将java.util.Date转换为时间戳中的当前时间..?

我正在用java创建一个程序.我使用以下代码

u.setLastlogin(new java.util.Date());
Run Code Online (Sandbox Code Playgroud)

上面的函数接受参数为java.util.Date但我想将此值存储在数据库表中,其中列的类型是timestamp

任何人都可以帮助如何编码,以便我可以在表中插入系统的当前时间戳.谢谢.

java sql

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

Gradle没有加载从buildrc中放置的Java源编译的Java类文件

我在groovy中实现了一个自定义任务.如果我为它在groovy(X.groovy)中实现它提供了一个实用程序类并将它放在buildsrc中,那么任务就可以了.如果我在Java(Y.java)中实现等效类并将其放在同一目录中,则任务失败并显示以下错误消息:

:buildsrc:compileGroovystartup failed:
General error during conversion: Could not load class 'com.myinc.gradle.api.data.Y' 
from file:/project/buildsrc/build/classes/main/com/myinc/gradle/api/data/Y.class.
Run Code Online (Sandbox Code Playgroud)

Y.class文件存在于错误消息中指定的位置.当Y.java位于任何常用位置时,构建失败:

buildsrc/src/main/groovy/.../Y.java<br>
buildsrc/src/main/java/.../Y.java
Run Code Online (Sandbox Code Playgroud)

Gradle文档说"您可以将构建源代码放在此目录中并坚持Java/Groovy项目的布局约定",并将应用其默认的buildsrc构建脚本.
来源:http://www.gradle.org/docs/current/userguide/organizing_build_logic.html#sec : build_sources

Project Layout允许Groovy源目录包含Groovy和Java代码.
资料来源:http://www.gradle.org/docs/current/userguide/groovy_plugin.html#sec : groovyCompile

复制:

项目/的build.gradle:

task t (type: sample.MyTask) {
  println "configuring task"
}
Run Code Online (Sandbox Code Playgroud)

项目/ buildsrc/src目录/主/常规/样本


MyTask.groovy

package sample

import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction

class MyTask extends DefaultTask {
  @TaskAction
  public void task() {
    println 'task action'
    new X().m()
//  new Y().m()    // uncommenting this line should generate an error …
Run Code Online (Sandbox Code Playgroud)

java groovy gradle

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

从lambda抛出异常

鉴于此java 8代码

public Server send(String message) {
    sessions.parallelStream()
        .map(Session::getBasicRemote)
        .forEach(basic -> {
          try {
            basic.sendText(message);
          } catch (IOException e) {
            e.printStackTrace();
          }
        });

    return this;
}
Run Code Online (Sandbox Code Playgroud)

我们如何正确地将它IOException委托给方法调用的堆栈?(简而言之,如何让这个方法抛出这个IOException?)

java中的Lambdas对错误处理看起来不太友好......

java error-handling lambda checked-exceptions java-8

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

无法为Apple支付测试添加测试卡

我正在努力将Apple pay集成到我的应用程序中进行测试,我认为我需要在我的钱包应用程序中添加一些测试卡.没有这个我在Xcode中收到错误"此设备无法付款."

我已经完成了与Xcode相关的所有设置,并且在功能下我可以看到我的商家ID被选中并且所有3个复选标记都已完成.

所以我尝试添加测试卡进行苹果支付测试(获取令牌)我按照流程设置 - >钱包和苹果支付 - >添加信用卡/借记卡 - >手动输入 - >这里我给了从苹果采取的假凭证

来自苹果网站的测试卡 FPAN:5204 2477 5000 1497有效期:11/2022 CVC:111

但没有一张卡被接受,对于MASTERCARDS我得到的错误就像发行人还没有提供对这张卡的支持.同样我得到的签证测试卡的错误.

所以我想如何测试苹果工资集成而无需在苹果工资设置中添加卡片或如何成功添加测试卡以便我获得令牌.

编辑:我能够成功地看到苹果付费演示屏幕,因为模拟卡默认已经添加到其中.

我正在寻找与真实设备相同的东西

xcode payment-gateway braintree ios applepay

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

VFS上的Hello world示例:从头开始创建一个zip文件

我想用Commons VFS2库创建一个zip文件.我知道如何在使用file前缀时复制文件但是zip没有实现文件写入和读取.

fileSystemManager.resolveFile("path comes here")zip:/some/file.zip当file.zip是一个不存在的zip文件时,我尝试路径时-method失败.我可以解析现有文件,但不存在的新文件失败.

那么如何创建新的zip文件呢?我不能使用createFile(),因为它不受支持,我无法在调用之前创建FileObject.

通常的方法是使用该resolveFile创建FileObject,然后为该对象调用createFile.

java zip apache-commons-vfs

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

找出 jar 来自哪个 Maven 存储库

有一个插件在我同事的系统中可以正常工作,但在我的系统中却不能。我怀疑它是因为他的settings.xml 中包含一个存储库,但我的settings.xml 中没有。有没有一个工具可以用来确定这个插件是从哪个存储库下载的?

dependencies repository maven

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