apache camel_Apache Camel Intellij IDEA插件的工作已开始

apache camel

仅仅因为圣诞节并不意味着骆驼静止不动。

在23日晚上,我花了一些时间进行研究,并开始研究IDEA的Apache Camel插件的小原型。 它已经存在了我很长时间。

原因是Apache Camel为目录提供了有关工具的大量有用信息。 该目录包含有关每个Camel组件,EIP,数据格式,语言等的所有小细节。

我一直希望有一个IDEA(如果可能的话,还有Eclipse)的小插件,以提供代码帮助来设置Camel端点–换句话说,有ctrl +空格来显示可在任何给定Camel端点上使用的Camel选项列表。

故事开始了……


因此,在漆黑的夜晚,我回到了Intellij IDEA插件领域。 自从我上次入侵IDEA插件以来已经有很长时间了。 这么多年前,我记不清了,但是大约是在2002年。我创建了一个名为Generate toString的小插件,它将为您的POJO类生成漂亮的toString方法,例如您可以生成equals / hashCode等。我维护了插件并将其升级为较新的IDEA版本,这些版本通常会破坏插件,或者它们已移动/更改了自己的API。 当时几乎没有文档记录插件API,而且编辑器本身也没有源代码,因此试图弄清楚如何使其再次工作或如何使用一些现有的IDEA对话框等都没有意思。但是最后还是有可能的,实际上我不得不使用Java Swing等构建一些对话框。该插件后来在Jetbrains上找到了一个新家,他们接管了该插件,并在IDEA中提供了开箱即用的插件。 谢谢Jetbrains。 您是地球上最好的编辑器。


您可以在以下博客文章中阅读有关此故事的更多信息:

  • Intellij IDEA插件兼容性
  • 生成捆绑在IDEA 8中的toString()

快进到2016年,我回到了熟悉的水域,AST模型仍然命名为PsiSomething。

……故事结束了。

但是,做一个挂接到IDEA Java语言的插件花了一段时间才找出来,因为我走错了路,试图找到一个
关于智能完成的扩展点 。

因此,相反,我查看了一些现成的插件,可以找到它们的源代码,并最终找到了一个与Java语言挂钩的插件,这使我走上了正确的道路。

因此,过了一会儿,我开始工作了,发现智能完成建议列表包含给定组件的Camel端点选项,真是太了不起了。 在圣诞节的早晨,我入侵了一些黑客,并在第一条屏幕截图中发布了一条推文

今天在12月25日,我还有更多时间来完善代码并将其发布在github上。

我在github上创建了一个新项目,我们可以在其中破解代码,以使该插件很棒,很棒。 目的是将代码最终捐赠给Apache Camel。 但是现在我们可以将其分开,这样更容易,因为只有插件代码,而并非所有其他Camel源代码。

Github项目: https : //github.com/davsclaus/camel-idea-plugin

您可以在github页面上找到更多详细信息,其中包含有关如何尝试/运行和构建插件的说明。 还有一个问题跟踪器,其中包含我们需要处理的事情的票证。

欢迎任何人提供插件帮助。 遗憾的是,我目前没有太多时间来证明花几天时间来破解该插件,甚至认为这真的很有趣。 我必须集中精力完成《 骆驼在行动》第二版 。 我对微服务一章的了解达到了85%的水平,然后在2017年初尽快完成另一章。但是我也是一个人,希望获得一些有趣的黑客技术,所以我会不时地进行一些黑客活动。时间在插件上。

这本书是一个无耻的插件,在假期期间有40%的折扣代码。 折扣码是camiach (“骆驼在行动”中享有 40%的折扣,第二版,所有格式,有效期:2017年1月7日)

要结束此博客文章,请参见以下Camel IDEA插件的最新屏幕截图:

智能完成功能可显示可能的骆驼选项

该插件还支持值的智能补全,例如,基于枚举的选项显示了哪些选项(如果存在默认值,则默认为哪个选项)

智能完成枚举值

参考: 我们的JCG合作伙伴 Claus Ibsen在Apache Camel博客的Claus Ibsen 上开始了Apache Camel Intellij IDEA插件的工作 。

翻译自: https://www.javacodegeeks.com/2016/12/work-started-apache-camel-intellij-idea-plugin.html

apache camel

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

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

相关文章

Final Cut Pro X剪辑影片基本步骤

文章目录一、资源库、事件、项目之间的区别二、制作一个视频的步骤(一)创建资源库(二)创建事件(非必需)(三)导入资源(四)创建项目(五)进行剪辑(六…

python储存_python数据储存

python数据储存 csv文件的操作 安装csv包 打开cmd 执行 pip install csv 引入的模块名为csv 读取文件 with open("xx.csv","r") as f: read_datacsv.reader(f) for i in read_data: print(i)//打印表的全部元素 print(i[0])//打印表的第一列元素 1 2 3 4 5…

android+udp传输大小,Android UDP数据包如何接收可变大小的数据包

我有一个Android应用程序,它监视UDP数据包并调用一个方法来处理收到的消息。我有一个问题,如果传入的消息更长,它将调用方法来处理消息。但是如果传入的消息较短,则不会调用该方法,但如果我发送短消息两次,…

单例模式引发的内存泄漏:_资源泄漏:救援的命令模式

单例模式引发的内存泄漏:多年来, 使用Plumbr进行性能监控时,我遇到了数百个资源泄漏引起的性能问题。 在这篇文章中,我想描述一种最简单的方法来清理资源并避免该问题。 首先,我以电影播放器​​应用程序为例来描述问题。 这种应…

使用 ssh 命令来访问(登录/连接)远程服务器主机

打开 terminal 客户端,输入如下命令语句: ssh root119.119.10.5; // ssh 登录用户名称远程主机IP地址

android json 斜杠,Android中Json数据去掉斜杠

数据如下:["{"STCD":"172017156159","ItemID":"0003002","TM":"2020-01-16 19:20:10","NFOINDEX":0,"DATAVALUE":0,"DATATYPE":0}","{"STCD"…

ant构建项目迁移到gradle_Gradle这么弱还跑来面腾讯?

点击上方“刘望舒”,选择“星标”多点在看,就是真爱作者: 厘米姑娘(腾讯开发妹子)| 来源 :公号 码个蛋https://www.jianshu.com/p/1274c1f1b6a4前言在使用Android Studio过程中没少被Gradle坑过,虽然网上有很多简单粗暴的解决方案…

java heroku_使用Spring Boot和Heroku在20分钟内完成Java的单点登录

java heroku建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现。 注册 ,再也不会建立auth了! 大规模更新 我最初为本文…

如何使用SSH客户端远程操作linux系统,并启动、关闭tomcat和查看后台日志

cd … 表示回退到上一级目录 ls 表示查看当前目录下的所有文件 我们的tomcat安装路径在usr\local\yzmis\下面找 例如你要关闭信誉质量考核系统所在的tomcat,你要进入test下去找到apache-tomcat-6.0.14 再进入bin目录下,然后执行[trserver100 bin]$ ./sh…

极光推送android点击跳转页面,app关闭时点击推送消息实现页面跳转

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {//推送注册var str:NSString UIDevice.currentDevice().systemVersionvar version:Float str.floatValueif version > 8.0 {APService…

模块pdf2image.dll加载失败_Webpack 原理从前端模块化开始

当前主流 JS 模块化方案无模块化CommonJS 规范,nodejs 实现的规范AMD 规范,requirejs 实现的规范CMD 规范,seajs 实现的规范, seajs 与 requirejs 实现原理有很多相似的地方 u ES Modules,当前 js 标准模块化方案注意:…

drools dmn_Drools 7支持DMN(决策模型和表示法)

drools dmn决策模型和表示法(DMN)规范是OMG(对象管理组)相对较新的标准,旨在为业务规则和业务决策提供服务。 BPMN(它的兄弟规范)用于业务流程:标准化表示法和执行语义,…

ios html正则表达式,ios 正则表达式去html标签

ios 正则表达式去html标签[2021-01-27 12:53:55] 简介:php正则表达式去掉html的方法:首先使用“htmlspecialchars_decode” 将特殊的HTML实体转换回普通字符;然后通过正则表达式“preg_replace(/]>/,,$_st系统运维正则表达式概述基础正则表达式扩展正…

PL/SQL工具执行SQL脚本文件

方法一:在命令窗口中输入SQL>E:\prestigereport.sql 方法二:工具菜单下的【导入表】,选择SQL插入后选中需要导入的sql脚本文件。

java开发五年面试经验_只有经验丰富的开发人员才能教您有关Java的5件事

java开发五年面试经验深入研究Java之前需要了解的所有内容的概述 有许多工具,方法,环境和功能会改变您处理代码的方式,而这些通常是在学年期间不会遇到的。 虽然它在Java开发世界中迈出了第一步,但大多数实际学习都是在工作中进行…

python合并excel工作簿_Python合并多个Excel工作簿

# -*- coding: utf-8 -*- #导入需要使用的包 import xlrd #读取Excel文件的包 import xlsxwriter #将文件写入Excel的包 #打开一个excel文件 def open_xls(file): f xlrd.open_workbook(file) return f #获取excel中所有的sheet表 def getsheet(f): return f.sheets() #获取sh…

中间表、关系表、关联表

中间表关系表关联表,保存表与表之间的记录(数据)对应关系,表保存的基本上是ID值,如果还保存其它的数据就不能认为是关系表,而且也无法真正体现数据记录之间的对应关系。

neo4j 两个点创建关系_Neo4j:找到两个纬度/经度之间的中间点

neo4j 两个点创建关系昨天我写了一篇博客文章,展示了如何使用Cypher查找两个纬度/经度之间的中点,这是第一次尝试填补缺失位置时的效果,但是我意识到我可以做得更好。 正如我在上一篇文章中提到的,当我找到一个缺少经纬度坐标的停…

c++调用cplex求解例子_视频教程 | 用Python玩转运筹优化求解器IBM CPLEX(二)

编者按优化求解器对于做运筹学应用的学生来说,意义重大。然而直到今天,放眼望去,全网(包括墙外)几乎没有一个系统的Cplex中文求解器教程。作为华人运筹学的最大的社区,『运筹OR帷幄』 责无旁贷,…