tuscany-sca绑定jms协议

定义接口类


import org.osoa.sca.annotations.Remotable;

@Remotable
public interface HelloWorldService {
    public String getGreetings(String name);
}

接口实现服务

public class HelloWorldServiceImpl implements HelloWorldService {


    @Override
    public String getGreetings(String name) {
        if ("bang".equals(name)) {
            throw new RuntimeException("blem wit");
        }
        System.out.println("send message");
        return "jmsHelloxxx " + name;
    }

}

配置service.composite文件

<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.    
 -->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
          targetNamespace="http://www.sunsheen.cn/jfids/demo"
           name="DefaultServiceComposite">

    <component name="HelloWorldService">
        <implementation.java class="test.chart.jms.HelloWorldServiceImpl"/>
        <service name="HelloWorldService">
           <binding.jms initialContextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFactory"
                             jndiURL="tcp://localhost:61616">
                <destination name="RequestQueue" create="ifnotexist"/>
                <response>
                    <destination name="ResponseQueue" create="ifnotexist"/>
                </response> 
            </binding.jms>
        </service> 
    </component>       

</composite>
在建立引用服务实现类

import org.osoa.sca.annotations.Service;

/**
 * This class implements the HelloWorld service.
 */
@Service(HelloWorldService.class)
public class HelloWorldClientImpl implements HelloWorldService {

HelloWorldService helloWorldService;

public String getGreetings(String name) {
System.out.println("Called getGreetings");
return helloWorldService.getGreetings(name);
}

public HelloWorldService getHelloWorldService() {
System.out.println("Got Injected helloWorldService");
return helloWorldService;
}

public void setHelloWorldService(HelloWorldService helloWorldService) {
System.out.println("Injected helloWorldService");
this.helloWorldService = helloWorldService;
}

}

建立引用的composite配<?xml version="1.0" encoding="UTF-8"?>
<!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.    
-->
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
targetNamespace="http://www.sunsheen.cn/jfids/system"
name="helloworldjmsreference">

    <!-- A component with a reference promoted as a composite reference -->
    <component name="HelloWorld">
      <implementation.java class="test.chart.jms.HelloWorldClientImpl"/>
      <reference name="helloWorldService">
          <interface.java interface="test.chart.jms.HelloWorldService"/>
          <binding.jms initialContextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFactory" jndiURL="tcp://localhost:61616">
       <destination name="RequestQueue"/>
              <response>
                  <destination name="ResponseQueue"/>
              </response>
        </binding.jms>  
      </reference>
    </component>

</composite>
在总配置下sca-contribution.xml,发布service与ref两个配置文件



“`
执行jms外部绑定需要启动activemq,详细了解下activemq的安装教程,启动服务器,没有保存,web端的tuscany sca jms协议绑定接成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值