如题。
需要引入什么包?或者什么dll?
如何使用?

解决方案 »

  1.   

    下载个jacob.jar和jacob.dll
    jar放到你的java工程中 导入进来
    dll放到system32里ActiveXComponent IECSFramework = new ActiveXComponent(progid);
    Dispatch.call(IECSFramework , "action", message); 
    其中progid是msmq在注册表离得progid 
    call后面的参数你要查下 他这个组件要得参数
      

  2.   

    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.dll
    MsmqJava.lib
    MsmqJava.jar但是现在运行不起来。
    下面是例子的下载地址 http://msmqjava.codeplex.com/请哪位高人指点一下应该怎么用?
      

  3.   

    跟我的理解不一样 sorry 误导你了首先MSMQ你安装了吗?服务能起来吗?下面是我查的资料
    MSMQ是微软消息队列服务,一般系统是没有的。可以在安装Windows组件(添加删除程序中找)一项中打开对话框,选中消息队列安装即可
    查看相关依存服务,检查是否被禁用
    1068 错误一般说的就是从属服务或群组无法激活。 
    你看还有那个服务被遗漏了。 
    错误描述:依存服务无法启动原因:distributed transaction coordinator服务未启动或权限不够解决:右击-我的电脑--管理--服务和应用程序--服务--将此服务启动,另外选中此服务右键属性查看依存服务,再看看依存的服务工作是否正常。服务工作正常了还有权限问题,选中distributed transaction coordinator服务右键属性里面有登陆属性页,改为本地系统账户。极少数情况下需要进控制台修复和重启服务。再次运行下输cmd,然后再输
    net stop msdtc
    msdtc -uninstall
    msdtc -install
    net start msdtc   
    应该就可以了。 
      

  4.   

    服务已经起来了,所以不知道是不是程序的问题,不知道是不是dll存在问题。
      

  5.   

    我想知道myqueue这个消息队列是否需要提前建立好。
    怎么建立?
      

  6.   

    应该是需要先建立好的。根据三楼的方法先打开msmq服务,然后从控制面板进入“计算机管理”,打开左边的“服务和应用程序”,下面会有一个“消息队列”,打开下面有一个“专用队列”,在专用队列上面右击,然后新建就可以了。