我想使用简单的Processor/AsyncProcessor作为目标并行处理队列中的消息.处理器每条消息需要一点时间,但每条消息可以单独处理,因此可以同时处理(在健康的边界内).
我很难找到例子,尤其是关于驼峰路线的xml配置.
到目前为止,我已经定义了一个线程池,路由和处理器:
<threadPool id="smallPool" threadName="MyProcessorThread" poolSize="5" maxPoolSize="50" maxQueueSize="100"/>
<route>
<from uri="broker:queue:inbox" />
<threads executorServiceRef="smallPool">
<to uri="MyProcessor" />
</threads>
</route>
<bean id="MyProcessor" class="com.example.java.MyProcessor" />
Run Code Online (Sandbox Code Playgroud)
我的处理器看起来像:
public class MyProcessor implements Processor {
@Override
public void process(Exchange exchange) throws Exception {
Message in = exchange.getIn();
String msg = in.getBody(String.class);
System.out.println(msg);
try {
Thread.sleep(10 * 1000); // Do something in the background
} catch (InterruptedException e) {}
System.out.println("Done!");
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我将消息发布到队列时,它们仍然被逐个处理,每个消息延迟10秒(我的"后台任务").
任何人都可以指出我使用定义的线程池处理消息的正确方向或解释我做错了什么?
在Spring MVC中,似乎有两个并行的类层次结构,一个是portlet,另一个是没有.
那是什么?为什么会这样,我应该使用什么.
这些语句在Java的内存占用和效率方面完全相同吗?
第一:
Object[] array = new Object[100];
int i = 0;
for (; i < array.length; i++){
Object o = array[i];
//do something
}
Run Code Online (Sandbox Code Playgroud)
第二:
Object[] array = new Object[100];
for (int i = 0; i < array.length; i++){
Object o = array[i];
//do something
}
Run Code Online (Sandbox Code Playgroud)
第三:
Object[] array = new Object[100];
for (Object o : array){
//do something
}
Run Code Online (Sandbox Code Playgroud) 我有Maven项目,但在其中一台服务器上我必须在没有Maven的情况下构建它.
可以使用标准JDK命令.在哪里可以看到Maven在构建项目时发送给JDK的命令?
假设您正在设置POJO.
你在设置课程时定义了什么?
这是我的清单
这是过度杀伤还是声音工程?你想添加什么遗漏?
无论如何都要以编程方式分析音频音高.例如,我知道大多数玩家都会显示一个图形或条形图,如果歌曲音高在@时间t很高,那么条形图会在时间t上升......就像这样.是否有任何实用程序/工具/ API来确定歌曲音高,以便我们将其插入到向上和向下的条形图中.
谢谢你的帮助
我们的应用程序是用VC++编写的,我们使用MSXML进行解析.现在我们要将MSXML文档对象从我们的应用程序传递给java应用程序进行处理.我怎样才能做到这一点?java(swing)是否支持MSXML或MSXML对象?我们正在使用DOM解析器.
任何帮助,赞赏,
谢谢,KK
我有这三个类:
命令:
package pack;
public abstract class Command impements java.io.Serializable
{
public abstract void execute();
}
Run Code Online (Sandbox Code Playgroud)
客户:
package pack;
// imports....
public class Client
{
Socket socket;
// Constructor...
public void sendCommand(Command c)
{
try
{
new ObjectOuputStream(socket.getOutputStream()).writeObject(c);
} catch (Exception e) {e.printStackTrace()};
}
}
Run Code Online (Sandbox Code Playgroud)
MyKeyListener:
此keylistener将添加到JFrame中的组件中.
public class MyKeyListener implements KeyListener
{
private Client client;
public MyKeyListener(Client c)
{ client = c; }
public void keyTyped(....)......; // This method does nothing
public void keyPressed(KeyEvent e)
{
client.sendCommand(new Command() { …Run Code Online (Sandbox Code Playgroud)