我正在寻找一个简单的Java工作流引擎:
可能的候选者包括Drools 5中的新Drools Flow流程引擎和OpenSymphony的OSWorkflow.根据我目前的理解,OSWorkflow似乎提供了更多我想要的东西(Drools Flow似乎并没有像审计历史那样存储太多); 然而,OSWorkflow的最新版本早在2006年初就已经出现了.现在使用OSWorkflow不再处于活跃开发阶段是错误的吗?
有没有人对这两个框架中的任何一个/两个都有很多经验?我应该看看还有其他工作流引擎吗?欢迎所有建议 - 谢谢.
我已经在Windows机器上安装了Apache Qpid Java代理的M4版本,并使用开箱即用的配置(通过qpid-server.bat脚本)启动它.
我现在正尝试使用RabbitMQ C#客户端库(版本1.5.3,为.NET 3.0编译)将消息发布到队列中; 我的代码是:
public void PublishMessage(string message)
{
ConnectionFactory factory = new ConnectionFactory();
factory.Parameters.VirtualHost = "...";
IProtocol protocol = Protocols.FromEnvironment();
using (IConnection conn = factory.CreateConnection(protocol, "localhost", 5672))
{
using (IModel ch = conn.CreateModel())
{
string exchange = "...";
string routingKey = "...";
ch.BasicPublish(exchange, routingKey, null, Encoding.UTF8.GetBytes(message));
}
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我不确定使用什么值factory.Parameters.VirtualHost以及字符串exchange和routingKey.我尝试了各种组合,但似乎没有任何工作 - 我最接近的是在Qpid服务器日志中看到以下内容:
2009-03-19 17:11:04,248 WARN [pool-1-thread-1] queue.IncomingMessage (IncomingMessage.java:198) - MESSAGE DISCARDED: No routes for message - Message[(HC:896033 ID:1 Ref:1)]: 1; …Run Code Online (Sandbox Code Playgroud)