探索SwitchYard 2.0.0.Alpha2快速入门

在我的最后一篇文章中,我解释了如何在WildFly 8.1上使用SwitchYard。 同时,该项目很忙,并发布了另一个Alpha2。 这是一个很好的机会,在这里浏览快速入门并刷新您的记忆。 除了版本更改之外,您仍然可以使用较早的博客来使用最新的Switchyard设置本地WildFly 8服务器 。 与所有框架一样,有很多东西可以探索,而这样做的先决条件是拥有一个可以正常工作的开发环境,以使其变得更容易。


设置JBoss Developer Studio

b
首先是第一件事。 下载适用于您的操作系统的最新JBoss Developer Studio(JBDS)7.1.1.GA的副本并进行安装。 您应该已经有一个简单的JDK:

java -jar jbdevstudio-product-eap-universal-7.1.1.GA-v20140314-2145-B688.jar

将工作。 简单的9步安装程序将指导您完成必要的步骤。 确保选择合适的JDK安装。 JBDS可以使用Java SE 6.x和7.x,并且已经过测试。 如果愿意,请安装完整的EAP,但这不是本教程的必要条件。 没有EAP的基本设置需要大约400 MB的磁盘空间,并且不应该花费几分钟。 如果完成了那部分,请启动IDE,然后继续并配置工具。 我们需要JBoss工具集成栈(JBTIS)。 通过访问“帮助->安装新软件”来配置它们,并使用“添加”按钮添加新的更新站点。 将其称为SY-Development,并将其指向:“ http://download.jboss.org/jbosstools/updates/development/kepler/integration-stack/”

等待列表刷新并扩展JBoss集成和SOA开发,然后选择所有三个SwitchYard条目。 在向导中单击您的方式,即可重新开始。

SY工具2.0.0

SY工具2.0.0

安装后,请确保禁用首选项中的“荣誉”所有XML模式位置,即XML→XML文件→验证。 这将防止在switchyard.xml文件中出现错误的XML验证错误。

防止错误的XML验证

防止错误的XML验证

就是这样。 继续并从先前的博客文章 (导入-> Maven->现有Maven项目)中导入bean服务示例。

有关SwitchYard项目的一般信息

在深入研究bean服务示例之前,让我们进一步了解SwitchYard项目的总体布局。 SwitchYard项目是基于Maven的项目,具有以下特征:

  • 项目的META-INF文件夹中的switchyard.xml文件
  • 在pom.xml文件中声明的一个或多个SwitchYard运行时依赖项
  • 在pom.xml文件中配置的org.switchyard:switchyard-plugin mojo

通常,SwitchYard项目还可以包含用于实现应用程序的各种其他资源,例如:Java,BPMN2,DRL,BPEL,WSDL,XSD和XML文件。 该工具支持您创建,更改和开发SY项目。 您还可以将SY功能添加到现有的Maven项目中。 可以在Eclipse工具的文档中找到更多详细信息。

探索Bean服务示例

Bean-Service示例是对SY产生第一印象的更简单示例之一。 Quickstarts存储库中的所有示例应用程序都包含在安装的quickstarts /目录中,也可以在GitHub上找到 。 bean服务快速入门演示了bean组件的用法。 该场景很简单:通过OrderServiceBean提供的OrderService和通过InventoryServiceBean实现提供的InventoryService负责订单。 订单通过OrderService.submitOrder提交,然后OrderService在InventoryService中查找项目,以查看它们是否有库存,并且可以处理该订单。 到目前为止,它基本上是一个基于CDI的简单Java EE应用程序。 在此应用程序中,通过SOAP网关绑定(用小信封表示)调用了简单的过程。

Bean Service快速入门概述

Bean Service快速入门概述

让我们深入研究实现。 查看OrderServiceBean将揭示更多细节。 定义操作的是OrderService接口的实现。 OrderServiceBean只是一个bean类,很少有额外的CDI批注。 最值得注意的是:

@org.switchyard.component.bean.Service(OrderService.class)

@Service批注允许SwitchYard CDI扩展在运行时发现您的bean并将其注册为服务。 每个bean服务必须具有@Service批注,该批注的值标识该服务的服务接口。 除了在SwitchYard中提供服务之外,Bean还可以使用其他服务。 这些参考文献需要注入。 在此示例中,注入了InventoryService:

@Inject@org.switchyard.component.bean.Referenceprivate InventoryService _inventory;

最后,您所需要的只是switchyard.xml配置文件,其中描述了服务,组件,类型和实现。

<composite name="orders" ><component name="OrderService"><implementation.bean class="org.switchyard.quickstarts.bean.service.OrderServiceBean"/><service name="OrderService"><interface.java interface="org.switchyard.quickstarts.bean.service.OrderService"/></service></component>
</composite>

那是一个非常Swift的失败。 我们还没有涉及Web服务端点,WSDL和Transformer配置和实现。 看看mastertheboss发布的SwitchYard教程 ,并有机会在以下链接中阅读有关SY的更多信息:

  • SwitchYard项目文档
  • SwitchYard主页
  • JBoss.org上的社区页面
  • SwitchYard是Fuse ServiceWorks的一部分,可以在完整的SOA套件中尝试一下。

翻译自: https://www.javacodegeeks.com/2014/10/exploring-the-switchyard-2-0-0-alpha2-quickstarts.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL之触发器

二&#xff1a;触发器 1. 什么是触发器 触发器&#xff0c;是一段与某个表相关的sql语句&#xff0c;会在某个时间点&#xff0c;满足某个条件后自动触发执行 其中两个关键因素&#xff1a; 时间点 * 事件发生前&#xff0c;before|事件发生后 after事件 * update delete inser…

PowerDesigner使用技巧

PowerDesigner使用MySQL的auto_increment   ◇问题描述&#xff1a;   PD怎样能使主键id使用MySQL的auto_increment呢&#xff1f; ◇解决方法&#xff1a;    打开table properties窗口 → columns → 选中id列 → 打开columns properties窗口 → 勾选identity即可   …

走进webpack(1)--环境拆分及模块化

初级的文章和demo已经基本完成了&#xff0c;代码也已经上传到了我的github上&#xff0c;如果你对webpack的使用并不是十分了解&#xff0c;那么建议你回头看下走近系列&#xff0c;里面包括了当前项目中使用频繁的插件&#xff0c;loader的讲解。以及基本的webpack配置&#…

适用于微服务架构的Apache Camel

在知道微服务架构被称为之前&#xff0c;我一直在使用它们。 我曾经使用过由隔离模块组成的管道应用程序&#xff0c;这些模块通过队列相互交互。 从那时起&#xff0c;许多&#xff08;前&#xff09;ThoughtWorks专家讨论了微服务。 首先是 Fred George&#xff0c; 然后是 J…

题解 P3811 【【模板】乘法逆元】

P3811 【模板】乘法逆元 一个刚学数论的萌新&#xff0c;总结了一下这题的大部分做法 //一、费马小定理快速幂 O(nlogn) 64分 #include<cstdio> using namespace std; typedef long long ll; int a,b; inline ll pow(ll x,ll p) {ll ans1;x%b;while(p) {if (p&1) an…

QueryString加密

有些人不想由URL暴露一些訊息&#xff0c;除了可以使用URL Rewrite之外&#xff0c;其實簡便一點的方法還有使用編碼or加密來達到偽裝的目的。使用Base64的原因是因為他的編碼不會有難以接受的特殊字元(註1)&#xff0c;你也可以用其他的編碼or加密算法替代(註2)。其實這邊已經…

即时大数据流处理=即时风暴

在Ubuntu背后的公司Canonical&#xff0c;每6个月进行一次技术工作&#xff0c;以第一手测试我们的工具并向其他人展示新想法。 这次&#xff0c;我创建了一个即时大数据解决方案&#xff0c;更具体地讲是“即时风暴”。 Storm现在是Apache基金会的一部分&#xff0c;但以前St…

webstorm中vue项目--运行配制

## npm搭建的项目&#xff0c;需要运行npm run dev来启动 webstorm作为一款优秀的编辑器&#xff0c;通过配置运行设置&#xff0c;达到一键运行 1.添加node.js配置 2.configuration->node interpreter : 路径/node.exe 3.configuration->working directory&#xff1a; …

VS2010 自动化整理代码(1)--- VS正则表达替换 PK Vim

自从开始在VS2010的IDE中开始用正则表达式修改 最近为了给Fortran找个好一点的编辑器&#xff0c;又开始使用Vim了。Vim是久负盛名的编辑器之神&#xff0c;可我们习惯了Visual Studio的智能提示等方便的操作&#xff0c;就总在琢磨要是VS 1. VS正则表达替换 PK Vim 这是善用…

Java基础(多态的理解与应用)

1.多态概述 多态是继封装、继承之后&#xff0c;面向对象的第三大特性。 多态现实意义理解&#xff1a; 现实事物经常会体现出多种形态&#xff0c;如学生&#xff0c;学生是人的一种&#xff0c;则一个具体的同学张三既是学生也是人&#xff0c;即出现两种形态。 …

Java并发教程–锁定:内在锁

在以前的文章中&#xff0c;我们回顾了在不同线程之间共享数据的一些主要风险&#xff08;例如原子性和可见性 &#xff09;以及如何设计类以安全地共享&#xff08; 线程安全的设计 &#xff09;。 但是&#xff0c;在许多情况下&#xff0c;我们将需要共享可变数据&#xff0…

小程序在wxml页面中取整

小程序无法像html中&#xff0c;在页面中直接parseInt() index.wxml {{price | Int}} 小程序还有另一种处理方法 wxs 是一种类似于js脚本的东西 filters.wxs var filters {toFix: function (value) {return parseFloat(value)} } module.exports {toFix: filters.toFix } …

2019.7.16考试总结

对于这个狗屎成绩我不想说什么&#xff0c;&#xff0c;&#xff0c;&#xff0c;&#xff0c;前两次考炸也就算了&#xff0c;主要因为不会&#xff0c;这次考成这狗屎&#xff0c;是因为手残眼瘸大脑间歇性抽搐 T1&#xff1a;我是菜鸡&#xff0c;我是蒟蒻&#xff0c;我好菜…

PrimeFaces Extensions中的全新JSF组件

PrimeFaces扩展团队很高兴宣布即将推出的3.0.0主要版本的几个新组件。 我们的新提交人Francesco Strazzullo为该项目提供了“ Turbo Boost”&#xff0c;并带来了至少6个已成功集成的 JSF组件&#xff01; 当前的开发状态是OpenShift上的deployet – 请查看展示柜。以下是有关添…

Application Verifier

老徐 says Application Verifier can help to check the memory leak issue of the notepad app.转载于:https://www.cnblogs.com/backpacker/archive/2011/11/16/2250648.html

15 个最新的 CSS3 教程

1. 创建一个漂亮的图标 这个教程将教你如何用纯CSS3创建一个图中的图标2. CSS3 图片样式 这个教程将教你如何使用 box-shadow, border-radius和transition。3. CSS3 Transition 的模糊效果4. 实用的CSS3圆角表格5. 创建纯CSS3的票式标签6. 原始的鼠标浮动效果 这个教程将创建缩…

运行时类加载以支持不断变化的API

我维护一个IntelliJ插件 &#xff0c;可以改善编写Spock规范的体验。 这个项目的挑战是在单个代码库中支持多个不兼容的IntelliJ API版本。 回想起来&#xff0c;该解决方案很简单&#xff08;这是狂野的适配器模式的一个示例&#xff09;&#xff0c;但最初它需要一些思想和示…

急救: Autodesk MapGuide Studio - Preview在MapGuide Open Source环境不能进行中文标注

MapGuide环境: 从官方mapguide.osgeo.org下载的最新版Mapguide Open Source1.1 和 MapGuide Open Source Web Server Extension开发环境: vs2005 .net2问题详述&#xff1a;对于图层Layer1. 选中后实体可以查询中文属性信息。具体设置在Properties displayed in Viewer&#xf…

解决新版本webpack vue-cli生成文件没有dev.server.js问题

新版本webpack生成的dev.server.js 在webpack.dev.conf.js中webpack.dev.conf.jsconst axios require(axios) const express require(express) const app express() const apiRoutes express.Router() app.use(/api, apiRoutes)然后找到devserver 这里可以配置路由devServe…

C++内存管理——指针数组

C/C程序中&#xff0c;指针和数组在不少地方可以相互替换着用&#xff0c;让人产生一种错觉&#xff0c;以为两者是等价的。但二者有着本质的区别&#xff1a;数组&#xff1a;要么在静态存储区被创建(如全局数组)&#xff0c;要么在栈上被创建。数组名对应着&#xff08;而不是…