java 如何向微软的MSMQ发消息 如题。需要引入什么包?或者什么dll?如何使用? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下载个jacob.jar和jacob.dlljar放到你的java工程中 导入进来dll放到system32里ActiveXComponent IECSFramework = new ActiveXComponent(progid);Dispatch.call(IECSFramework , "action", message); 其中progid是msmq在注册表离得progid call后面的参数你要查下 他这个组件要得参数 java在向msmq发消息之前需要什么准备工作吗?比如是否需要建立一个队列,我从网上找了一段代码 try { Queue queue= new Queue("myqueue"); String label="testmessage"; String body= "Hello, World!"; byte[] correlationId = { 0,2,4,6,8,9 }; Message msg = null; try { msg = new Message(body, label, correlationId); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } queue.send(msg); } catch (MessageQueueException ex1) { System.out.println("Put failure: " + ex1.toString()); }运行的时候报错 Put failure: Cannot open queue. (hr=MQ_ERROR_ILLEGAL_FORMATNAME)用的是下面的几个包和dll,也是从网上下的。MsmqJava.dllMsmqJava.libMsmqJava.jar但是现在运行不起来。下面是例子的下载地址 http://msmqjava.codeplex.com/请哪位高人指点一下应该怎么用? 跟我的理解不一样 sorry 误导你了首先MSMQ你安装了吗?服务能起来吗?下面是我查的资料MSMQ是微软消息队列服务,一般系统是没有的。可以在安装Windows组件(添加删除程序中找)一项中打开对话框,选中消息队列安装即可查看相关依存服务,检查是否被禁用1068 错误一般说的就是从属服务或群组无法激活。 你看还有那个服务被遗漏了。 错误描述:依存服务无法启动原因:distributed transaction coordinator服务未启动或权限不够解决:右击-我的电脑--管理--服务和应用程序--服务--将此服务启动,另外选中此服务右键属性查看依存服务,再看看依存的服务工作是否正常。服务工作正常了还有权限问题,选中distributed transaction coordinator服务右键属性里面有登陆属性页,改为本地系统账户。极少数情况下需要进控制台修复和重启服务。再次运行下输cmd,然后再输net stop msdtcmsdtc -uninstallmsdtc -installnet start msdtc 应该就可以了。 服务已经起来了,所以不知道是不是程序的问题,不知道是不是dll存在问题。 我想知道myqueue这个消息队列是否需要提前建立好。怎么建立? 应该是需要先建立好的。根据三楼的方法先打开msmq服务,然后从控制面板进入“计算机管理”,打开左边的“服务和应用程序”,下面会有一个“消息队列”,打开下面有一个“专用队列”,在专用队列上面右击,然后新建就可以了。 新手学习struts2,启动失败,应该是核心拦截器无法加载 spring security跟struts2的问题 关于 Struts2 启动Tomcat报错的问题 用JDOM对XML文件进行删除、更改节点,为什么不能保存下来? jni调用dll动态库 请问如何在xml中加入<符号 【统计/调查】大家都使用什么框架组合?有些什么感受? 关于Hibernate中 text类型的问题 JBuilder x jsp及客户端开发工具,用什么最好? web在线考试系统检测用户是否掉线的问题 Java与Sharepoint集成
jar放到你的java工程中 导入进来
dll放到system32里ActiveXComponent IECSFramework = new ActiveXComponent(progid);
Dispatch.call(IECSFramework , "action", message);
其中progid是msmq在注册表离得progid
call后面的参数你要查下 他这个组件要得参数
比如是否需要建立一个队列,我从网上找了一段代码
try {
Queue queue= new Queue("myqueue");
String label="testmessage";
String body= "Hello, World!";
byte[] correlationId = { 0,2,4,6,8,9 };
Message msg = null;
try {
msg = new Message(body, label, correlationId);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
queue.send(msg);
}
catch (MessageQueueException ex1) {
System.out.println("Put failure: " + ex1.toString());
}
运行的时候报错 Put failure: Cannot open queue. (hr=MQ_ERROR_ILLEGAL_FORMATNAME)
用的是下面的几个包和dll,也是从网上下的。
MsmqJava.dll
MsmqJava.lib
MsmqJava.jar但是现在运行不起来。
下面是例子的下载地址 http://msmqjava.codeplex.com/请哪位高人指点一下应该怎么用?
MSMQ是微软消息队列服务,一般系统是没有的。可以在安装Windows组件(添加删除程序中找)一项中打开对话框,选中消息队列安装即可
查看相关依存服务,检查是否被禁用
1068 错误一般说的就是从属服务或群组无法激活。
你看还有那个服务被遗漏了。
错误描述:依存服务无法启动原因:distributed transaction coordinator服务未启动或权限不够解决:右击-我的电脑--管理--服务和应用程序--服务--将此服务启动,另外选中此服务右键属性查看依存服务,再看看依存的服务工作是否正常。服务工作正常了还有权限问题,选中distributed transaction coordinator服务右键属性里面有登陆属性页,改为本地系统账户。极少数情况下需要进控制台修复和重启服务。再次运行下输cmd,然后再输
net stop msdtc
msdtc -uninstall
msdtc -install
net start msdtc
应该就可以了。
怎么建立?