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,一经查实,立即删除!

相关文章

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…

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

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

前端打印功能

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

同步多线程

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

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; 总结一下&…

点击返回上一页失效

点击取消的时候&#xff0c;返回上一页&#xff0c;没有效果&#xff0c;仍然停留在当前页&#xff0c;还报500&#xff1b;改成window.history.go(-1)也不生效 代码&#xff1a; <button class"st-btn-normal st-btn-cancel cancle" onclick"javascript:wi…

如何通过7个Logback调整立即改善Java日志记录

基准测试可帮助您发现Logback在压力下的性能 日志记录对于服务器端应用程序是必不可少的&#xff0c;但这是有代价的。 令人惊讶的是&#xff0c;微小的更改和配置调整对应用程序的日志记录吞吐量有多大影响。 在这篇文章中&#xff0c;我们将根据每分钟的日志条目对Logback的性…

JS中的编码

今天发现我输入的中文变成了另外一种格式&#xff0c;查了一下&#xff0c;原来是转换成了数字编码。在这里介绍一下数字编码和base64&#xff0c;做个记录 1.出现原因&#xff1a;在开发中经常需要对用户输入的数据进行编码然后才能通过HTTP请求发送给后台&#xff0c;或者对…

【Flutter】解决依赖版本冲突

为什么会存在版本依赖问题 我们在开发flutter项目中&#xff0c;常常会依赖第三方库。flutter依赖项越多&#xff0c;就越有可能出现依赖版本冲突。 Because new_trend depends on build_runner >0.9.0 which requires SDK version >2.0.0-dev.61 <3.0.0, version sol…

安装vue-cli时报错

今天用npm安装vue-cli时一直报错&#xff0c;后面百度说用cnpm重装&#xff0c;结果还是报错&#xff0c;后面找到一个博主的&#xff0c;说是vue升级的原因&#xff0c;vue init webpack hello-world 已经替换为 vue create hello-world npm install -g vue/cli-init # vue…

CenterNet算法笔记(目标检测论文)

论文名称&#xff1a;CenterNet: Keypoint Triplets for Object Detectiontection 论文链接&#xff1a;https://arxiv.org/abs/1904.08189 代码链接&#xff1a;https://github.com/Duankaiwen/CenterNet 简介 该论文是由中科院&#xff0c;牛津大学以及华为诺亚方舟实验室联合…

elementUI的container布局设置全屏宽度

进用element UI的 container 布局&#xff0c;发现不能全屏铺满 添加了一行代码&#xff1a; .el-container{height:100%;padding:0;margin:0;width:100%;}发现高度占满全屏&#xff0c;但是宽度还没有 继续给 html,body加了 width&#xff1a;100%&#xff1b;还是没有任何…

CSS border-radius边框圆角

在CSS3中提供了对边框进行圆角设定的支持&#xff0c;可对边框1~4个角进行圆角样式设置。 目录 1. 介绍 2. value值的格式和类型 3. border-radius 1~4个参数说明 4. 在线示例 1. 介绍 1.1 圆角属性 CSS3提供了5种圆角属性 border-radius &#xff1a;同时设置4个边框的…

element实现动态路由+面包屑

要掌握&#xff1a;localStorage&#xff0c;组件封装 ​​​​ emm&#xff0c;第一次上传视频转gif的图片&#xff0c;效果不咋好。。。 视频转gif 的软件连接 http://www.zxt2007.com/downloads.html 找到一个可以截取部分视频制作gif图的软件https://soft.onlinedo.cn/gif…

Oracle最新的Java 8更新破坏了您的工具-它是如何发生的?

如果您最近一直在关注Java世界的消息&#xff0c;那么您可能听说过Oracle发布的最新Java 8构建&#xff0c;Java 8u11&#xff08;和Java 7u65&#xff09;引入了错误并破坏了一些流行的第三方工具&#xff0c;例如ZeroTurnaround的JRebel&#xff0c;Javassist&#xff0c;Goo…

为什么选择Dojo - 记Dojo中文博客正式开张

公告栏里写到&#xff1a;Dojo的高门槛一旦跨过&#xff0c;必将别无所求。含义有二&#xff1a;第一&#xff0c;Dojo难学&#xff1b;第二&#xff0c;Dojo很强大。 这也揭示了本博客的目标&#xff1a;帮助大家用好Dojo这个优秀的Ajax框架。 在回答为什么选择Dojo之前&#…

ExtJS 4.2 第一个程序

本篇介绍如何创建一个ExtJS应用程序。并通过创建目录、导入文件、编写代码及分析代码等步骤来解释第一个ExtJS程序。 目录 1. 创建程序 1.1 创建目录建议 1.2 实际目录 1.3 index.html 1.4 运行图 2. 代码分析 2.1 Ext.onReady() 2.2 Ext.create() 1. 创建程序 1.1 创建目录…

ZooKeeper,策展人以及微服务负载平衡的工作方式

Zookeeper如何确保每位工人都能愉快地从工作委托经理那里得到一些工作。 Apache ZooKeeper是注册&#xff0c;管理和发现在不同计算机上运行的服务的工具。 当我们必须处理具有许多节点的分布式系统时&#xff0c;它是技术堆栈中必不可少的成员&#xff0c;这些节点需要知道其…

elementUI清空弹框中的表单数据

点击此处直达应用场景示例 官网&#xff1a;https://element.eleme.cn/#/zh-CN/component/form 补充&#xff1a;改变表头颜色&#xff1a; <el-table :data"tableData" border style"width: 100%" :header-cell-style"{background:#d3dce6,col…