WildFly 8.1.0.Final上的SwitchYard 2.0.0.Alpha1入门

最近,我一直在关注一些热门的RedHat技术,在其中很多有趣的部分中,我找到了SwitchYard 。 过去,对于所有人都围绕SOA和面向服务的体系结构不屑一顾,这对我来说一直很奇怪,作为Java EE开发人员。

switchyard_icon_256px 过去,我一直在用自己的手来构建面向组件的应用程序。 主要是受Java EE标准中可用功能的驱动,以使其“可移植”且易于使用。 回顾过去,它已非常适合许多客户和应用程序。 随着对高度集成的应用程序的需求不断增长,这些应用程序已经使用了遍布各地的现有服务和流程(部门,中央甚至是云服务),这种方法开始变得越来越过时。 这种感觉并非来自技术角度,而是来自周围的所有需求。 牢记这一点,是一系列方法和简短教程的起点,这些教程旨在展示一些更多样化的构建(Java EE)应用程序的方法,这些方法可以更好地适应当今的需求和环境。

什么是SwitchYard?

它是使用面向服务架构的设计原理和最佳实践的,用于集成应用程序的基于组件的开发框架。 如果您期望使用一种功能完善的BPMN / SOA流行词套件,那么您会有点不满意。 这是供开发人员使用的,应该使其使用起来相当直接。 它已经存在了一段时间,从最新的2.0.0.Alpha1开始,它与WildFly 8兼容。足以让我兴奋的理由。

将SwitchYard安装到最新的WildFly 8.1.0.Final中

从项目网站下载switchyard-2.0.0.Alpha1-wildfly软件包和WildFly 8.1.0.Final 。 通过将WildFly 8解压缩到您选择的文件夹中(例如D:\ wildfly-8.1.0.Final \)来安装它。 现在,将SwitchYard捆绑包解压缩到WildFly文件夹中。 根据使用的zip实用程序,可能会提示您是否应该替换现有文件。 对所有要解压缩的文件回答是/全部。

这是一个Alpha版本,因此由于SWITCHYARD-2158的缘故,您必须对配置进行一些调整。 打开“ JBOSS_HOME / standalone / configuration / standalone.xml”,然后搜索“ org.switchyard.component.camel”。 原子 .deploy.CamelRSSComponent,然后将包从“原子”更改为“ rss”。 现在,继续使用“ JBOSS_HOME / bin / standalone.sh / .bat”启动服务器。

如果一切正常,您应该会看到以下消息:

09:18:25,857 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.1.0.Final "Kenny" started in 3712ms - Started 210 of 259 services (81 services are lazy, passive or on-demand)

构建和部署Bean服务快速入门

如果您想动手,可以轻松从发行版的“ JBOSS_HOME / quickstarts /”目录中的打包应用程序开始。 一个简单的例子就是bean服务示例。 它利用了SwitchYard的核心组件之一Bean Component 。 它允许Java类(或bean)提供和使用服务。 因此,您可以通过简单地注释Java类来实现服务,或者通过将引用直接注入Java类来使用服务。

而且,由于Bean组件是标准的CDI扩展,因此无需学习新的编程模型即可使用它。 它只是一个标准的CDI Bean,带有更多注释。

对于现有的Java EE应用程序,这意味着您可以将应用程序中现有的基于CDI的bean作为服务公开给外界,或者通过添加更多注释来使用bean中的服务。

首先是第一件事。 我们需要在项目pom.xml中进行一些调整以使此工作有效。 转到构建部分,并将“ jboss-as-maven-plugin”替换为最新版本的:

<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.0.2.Final</version>

现在运行“ mvn软件包”以下载所有依赖项并执行测试。 它应该可以正常工作并声明:

Tests run: 6, Failures: 0, Errors: 0, Skipped: 0

让我们通过发出“ mvn -Pdeploy install”将其部署到WildFly实例。 最后,WildFly控制台使您知道成功执行的情况:

10:19:44,636 INFO  [org.jboss.as.server] (management-handler-thread - 1) JBAS018559: Deployed "switchyard-bean-service.jar" (runtime-name : "switchyard-bean-service.jar")

应用快速测试

一个非常快速的测试是执行mvn exec:java,它将执行BeanClient类并向已部署的服务触发SOAP请求。 输出应为:

SOAP Reply:
<soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><env:header xmlns:env="http://www.w3.org/2003/05/soap-envelope"></env:header><soap:body><ord ers:submitorderresponse="" xmlns:orders="urn:switchyard-quickstart:bean-service:1.0
"><orderack><orderid>PO-19838-XYZ</orderid><accepted>true</accepted><status>Orde
r Accepted [intercepted]</status></orderack></ord></soap:body></soap:envelope>

今天就是这样。 接下来的部分将更详细地研究示例应用程序,并安装工具,并向您介绍其他各种组件。 如果等不及了,请查看:

  • SwitchYard文档 ,其中包含大量有用的内容。
  • 一些很棒的视频,并在我们新的SwitchYard视频系列中了解有关SwitchYard的全部知识。
  • 其他Quickstart应用程序。

翻译自: https://www.javacodegeeks.com/2014/08/getting-started-with-switchyard-2-0-0-alpha1-on-wildfly-8-1-0-final.html

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

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

相关文章

void main()是错误的

USE_NET新闻组一直苦恼于一个问题的讨论&#xff0c;我们能否用void作为一个main的返回类型&#xff0c;ANSI标准说不能&#xff0c;然而&#xff0c;大量的关于C的启蒙书中的例子都使用了void main (void)&#xff0c;这让许多人感觉不知该如何是好。 当有人问为什么使用void是…

zTree 优秀的jquery树插件

zTree 优秀的jquery树插件,文档详细&#xff0c;渲染快 使用方法&#xff1a; 1、引用zTree的js和css文件   <link href"~/Content/zTree_v3/css/zTreeStyle/zTreeStyle.css" rel"stylesheet" /><script src"~/Content/zTree_v3/js/jque…

执行点击事件,第一次点击后,一切正常,第二次点击,执行两次,以此类推

今天执行点击事件的时候&#xff0c;第一个点击正常&#xff0c;第二次点击接口调用了两次&#xff0c;第三次点击接口调用了3次。。。。我还以为是我的push数组写错了&#xff0c;后来发现是因为jq绑定一个按钮click事件的问题。 1.在点击事件上面添加了一行代码**$(’#btn’)…

牛客 2B 树 (组合计数)

传送门 大意: 给定n节点树, 求划分为不超过$k$个连通块的方案数. n,k<300. 核心观察是每个连通块深度最低的点固定以后染色方案就固定了. 所以答案为$\sum\limits_{i1}^k\binom{k}{i}i!\binom{n-1}{i-1}$ 转载于:https://www.cnblogs.com/uid001/p/10864775.html

Java中的42行代码中的URL缩短服务— Java(?!)Spring Boot + Redis

显然&#xff0c;编写URL缩短服务是新的“ Hello&#xff0c;world&#xff01; ”在IoT /微服务/时代的世界中。 一切始于在45行Scala中的URL缩短服务 -整洁的Scala&#xff0c;以Spray和Redis进行调味以进行存储。 随后&#xff0c; 在35行Clojure中使用了url缩短服务&#x…

poj 3256(DFS)

http://acm.pku.edu.cn/JudgeOnline/problem?id3256 题意&#xff1a;有k头牛&#xff0c;n个牧场&#xff0c;m条路&#xff08;每条路相连两个牧场且单向&#xff09;&#xff0c;求全部牛都能到达的牧场有几个。 分析&#xff1a;用DFS&#xff0c;从每头牛所在牧场开始&am…

jquery常用表单操作

//js将表单序列化成对象$.fn.serializeObject function () {var $els $(this).find("[name]");var formData {};var len $els.length;for (var i 0; i < len; i ) {var $item $($els[i]);var name $item.attr("name");var type $item.attr(&qu…

Android 小項目之---Iphone拖动图片特效 (附源码)

曾经被Iphone用手指在屏幕上滑来滑去拖动图片的操作方式吸引吗&#xff1f;在Android里头&#xff0c;这并不是什么难事。 所需要的技术点如下&#xff1a;Android.content.Context 、Android.widget.BaseAdapter、Android.widget.ImageView等通常会用在设计相册、 图片类型的选…

jq绑定的事件不生效

不知道什么原因&#xff0c;写了一段代码之后&#xff0c;绑定的所有的jq事件都不生效了。后来百度了一下&#xff0c;这里列出一种方法。 转载&#xff1a;https://www.jb51.net/article/46666.html $("#ceshisub").bind("click",function(){ var a1; …

Python笔记_第三篇_面向对象_6.继承(单继承和多继承)

1. 概念解释&#xff1a; 继承&#xff1a;有两个类&#xff1a;A类和B类。那么A类就拥有了B类中的属性和方法。 * 例如&#xff1a;Object&#xff1a;是所有类的父亲&#xff0c;还可以成为基类或者超类&#xff08;super()&#xff09; * 继承者为子类&#xff0c;被继承者成…

文本内容之间的关键词提取和相似度计算

背景 Web应用程序变得越来越智能。 从网站上使用服务的日子已经一去不复返了&#xff0c;用户不得不填写一个巨大的表格。 假设您有一个适合书迷的网站。 在Web 2.0之前&#xff0c;此类网站曾经以诸如年龄&#xff0c;阅读书籍&#xff0c;喜欢的书籍类型&#xff0c;语言偏好…

Windows XP SP3支持多用户远程桌面连接

远程桌面连接的确很方便&#xff0c;但是在Windows XP中只支持单一用户的连接&#xff0c;当第二个用户连接时&#xff0c;第一个用户就被迫断开并回到用户登录界面了&#xff0c;这可和多任务的操作系统理念不符啊&#xff0c;或许微软是为了突出Server系统的特点吧&#xff0…

构建用于测试的超大型内存InputStream

由于某种原因&#xff0c;我需要非常大的&#xff0c;甚至可能是无限的InputStream &#xff0c;它会反复地反复返回相同的byte[] 。 这样&#xff0c;我可以通过重复小样本来产生大量的数据流。 在Guava中可以找到类似的功能&#xff1a; Iterable<T> Iterables.cycle(I…

linux 调试小经验

1、查看netlink socket 丢包 cat /proc/net/netlink sk Eth Pid Groups Rmem Wmem Dump Locks Drops Inode c91eda00 0 1172 00000001 0 0 00000000 2 0 27767 c43eee00 0 -4099 00000000 0 0 00000000 2 0 41200 c9266e00 0 1186 00000000 0 0 00000000 2 0 28922 c1af580…

前端打印功能

方法一&#xff1a; html代码&#xff1a; 在要打印的内容上加入&#xff1a;<!--startprint-->和<!--endprint--> js代码&#xff1a; $(.printData).click(function(){bdhtmlwindow.document.body.innerHTML; sprnstr"<!--startprint-->"; …

Vlc支持IE 360 低版本的Google浏览器

VLC 插件代码&#xff1a; <object typeapplication/x-vlc-plugin pluginspage"http://www.videolan.org/" idvlc eventsfalse width"720" height"410"><param namemrl valuertsp://admin:123456******:554/h264/ch1/main/av_stream /&…

同步多线程

同步多线程&#xff08;SMT&#xff09;是一种在一个CPU 的时钟周期内能够执行来自多个线程的指令的硬件多线程技术。本质上&#xff0c;同步多线程是一种将线程级并行处理&#xff08;多CPU&#xff09;转化为指令级并行处理&#xff08;同一CPU&#xff09;的方法。 同步多线…

如何使用布隆过滤器在Java中建立大容量的内存缓存

背景 缓存是解决日常软件问题的重要概念。 您的应用程序可能会执行CPU密集型操作&#xff0c;而您又不想一次又一次地执行这些操作&#xff0c;而是只导出一次结果并将其缓存在内存中。 有时瓶颈是IO&#xff0c;例如您不想重复访问数据库&#xff0c;并且想缓存结果并仅在基础…

Centos7安装Python3的方法

由于centos7原本就安装了Python2&#xff0c;而且这个Python2不能被删除&#xff0c;因为有很多系统命令&#xff0c;比如yum都要用到。 [rootVM_105_217_centos Python-3.6.2]# python Python 2.7.5 (default, Aug 4 2017, 00:39:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-16)…

ajax请求导致status为canceled的原因

在使用layui的form表单提交以后&#xff0c;请求状态总是canceled。后来在form表单的后面添加了一行代码&#xff1a; return false; 就可以了。 文档&#xff1a;https://www.layui.com/doc/modules/form.html#onsubmit 错误&#xff1a; 解决方法&#xff1a; 总结一下&…