jruby

【原创】大叔经验分享(43)logstash设置jdbc_default_timezone后报错

戏子无情 提交于 2020-05-04 23:52:01
logstash6.6.0-6.6.2版本使用jdbc input plugin时如果设置了jdbc_default_timezone,会报错: { 2012 rufus- scheduler intercepted an error: 2012 job: 2012 Rufus::Scheduler::CronJob " * * * * * " {} 2012 error: 2012 2012 2012 NoMethodError 2012 undefined method `utc_total_offset_rational' for # <TZInfo::TransitionsTimezonePeriod:0x78b60bbe> Did you mean? utc_total_offset 2012 /data/logstash-6.6.2/vendor/bundle/jruby/2.3.0/gems/sequel-5.17.0/lib/sequel/extensions/named_timezones.rb:81: in `convert_output_datetime_other' 2012 /data/logstash-6.6.2/vendor/bundle/jruby/2.3.0/gems/sequel-5.17.0/lib/sequel/timezones.rb:54

HBase Filter 过滤器之 Comparator 原理及源码学习

萝らか妹 提交于 2020-04-26 07:47:17
前言: 上篇文章 HBase Filter 过滤器概述 对HBase过滤器的组成及其家谱进行简单介绍,本篇文章主要对HBase过滤器之比较器作一个补充介绍,也算是HBase Filter学习的必备低阶魂技吧。本篇文中源码基于HBase 1.1.2.2.6.5.0-292 HDP版本。 HBase所有的比较器实现类都继承于父类ByteArrayComparable,而ByteArrayComparable又实现了Comparable接口;不同功能的比较器差别在于对父类compareTo()方法的重写逻辑不同。 下面分别对HBase Filter默认实现的七大比较器一一进行介绍。 1. BinaryComparator 介绍: 二进制比较器,用于按字典顺序比较指定字节数组。 先看一个小例子: public class BinaryComparatorDemo { public static void main(String[] args) { BinaryComparator bc = new BinaryComparator(Bytes.toBytes("bbb")); int code1 = bc.compareTo(Bytes.toBytes("bbb"), 0, 3); System.out.println(code1); // 0 int code2 = bc

HBase Shell 十大花式玩儿法

坚强是说给别人听的谎言 提交于 2020-04-17 11:28:34
【推荐阅读】微服务还能火多久?>>> 前言: 工欲善其事必先利其器,今天给大家介绍一下HBase Shell十大花式利器,在日常运维工作中,可以试着用起来。 1. 交互模式 也就是我们最常用到的Shell命令行的方式。 $ hbase shell hbase(main):001:0> list 2. 非交互模式 $ echo "describe 'test1'" | hbase shell -n # 结果输出到文件 $ echo "describe 'test1'" | hbase shell -n > tmp.log # 不打印输出结果 $ echo "describe 'test'" | hbase shell -n > /dev/null 2>&1 与交互模式比较 如果我们想要知道HBase Shell命令执行之后是否成功,那一定要使用非交互模式。因为交互模式执行命令后总是返回0。当执行命令失败后,非交互模式将返回非0数值。如下示例: $ echo "error cmd" | hbase shell > /dev/null 2>&1 $ echo $? 0 $ echo "error cmd" | hbase shell -n > /dev/null 2>&1 $ echo $? 1 3. 使用Ruby脚本 $ hbase org.jruby.Main PATH_TO

HBase Shell 十大花式玩儿法

China☆狼群 提交于 2020-04-17 09:40:22
【推荐阅读】微服务还能火多久?>>> 前言: 工欲善其事必先利其器,今天给大家介绍一下HBase Shell十大花式利器,在日常运维工作中,可以试着用起来。 1. 交互模式 也就是我们最常用到的Shell命令行的方式。 $ hbase shell hbase(main):001:0> list 2. 非交互模式 $ echo "describe 'test1'" | hbase shell -n # 结果输出到文件 $ echo "describe 'test1'" | hbase shell -n > tmp.log # 不打印输出结果 $ echo "describe 'test'" | hbase shell -n > /dev/null 2>&1 与交互模式比较 如果我们想要知道HBase Shell命令执行之后是否成功,那一定要使用非交互模式。因为交互模式执行命令后总是返回0。当执行命令失败后,非交互模式将返回非0数值。如下示例: $ echo "error cmd" | hbase shell > /dev/null 2>&1 $ echo $? 0 $ echo "error cmd" | hbase shell -n > /dev/null 2>&1 $ echo $? 1 3. 使用Ruby脚本 $ hbase org.jruby.Main PATH_TO

阿里资深架构带你玩转Java高并发

笑着哭i 提交于 2020-03-04 16:29:32
【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> 前言 关于Java与并行 由于单核CPU的主频逐步逼近极限,多核CPU架构成为了一种必然的技术趋势。所以,多线程并行程序便显得越来越重要。并行计算的一个重要应用场景就是服务端编程。可以看到,目前服务端CPU的核心数已经轻松超越10核心,而Java显然已经成为当下最流行的服务端编程语言,因此熟悉和了解基于Java的并行程序开发有着重要的实用价值。 如果还没有购买又需要这本【实战Java高并发程序设计】书籍文档的话帮忙转发一下然后再关注我私信回复“电子书”免费获取吧! 适合阅读人群 虽然本书力求通俗,但要通读本书并取得良好的学习效果,要求读者需要具备基本的Java知识或者一定的编程经验。因此,本书适合以下读者: ●拥有一定开发经验的Java平台开发人员(Java. Scala, JRuby等) ●软件设计师、架构师 ●系统调优人员 ●有一定的Java编程基础并希望进一步加深对并行的理解的研发人员 本书的体系结构 本书立足于实际开发,又不缺乏理论介绍,力求通俗易懂、循序渐进。本书共分为8章。 第1章 主要介绍了并行计算中相关的一些基本概念,树立读者对并行计算的基本认识:介绍了两个重要的并行性能评估定律,以及Java内存模型JMM. 第2章 介绍了Java并行程序开发的基础,包括Java中Thread的基本使用方法等

脱离Rails使用ActiveRecord

坚强是说给别人听的谎言 提交于 2020-02-29 21:59:34
ActiveRecord是Ruby的对象-关系映射(ORM)框架,它几乎总是被视为Rails框架的一部分,但其自身也是一个实体,可通过gem单独安装和使用。本文以访问Sqlite3为例,介绍如何在Rails框架之外使用ActiveRecord访问数据库。 1. 安装ActiveRecord 首先通过gem安装ActiveRecord,运行以下命令: gem install activerecord #2. 安装Sqlite3 为了方便起见,本文演示访问Sqlite3数据库,访问其他数据库(例如MySQL、PostgreSQL等)方法类似。 gem install sqlite3 3. 连接数据库 require 'active_record' ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:") “:adapter”适配器一项选择相应的数据库适配器,此处是sqlite3; “:database”为目标数据库,sqlite是文件型数据库,因此这一项是目标文件的路径,例如“info.db”。“:memory:”是一个特殊的文件,使用内存而不是外部文件。 4. 建表 ActiveRecord::Schema.define do drop_table :hosts if

burpsuite+jruby+vscode 的开发方式,更简单的burp插件编写

余生长醉 提交于 2020-02-27 21:15:25
为什么要用ruby?ruby语法编码比jython相对简单,编码格式相对舒服,例如标题可以使用中文: jruby安装就是一路next就不讲了,安装好jruby后别忘了设置环境变量 JRUBY_HOME 指向到jruby根目录否则不能使用require语句,如下图: 接下来参照 https://gems.ruby-china.com 重新定位 gem 和 bundle的镜像 之后在vscode中安装插件并配置如下 1: ruby Solargraph (语法服务器)在设置中需要手工开启如下两个地方,可以直接搜索Solargraph: 2: 安装endwise 插件 (end自动补齐) 3: gem install rubocop 4: 重启vscode 参照之前的套路使用一个插件文件和一个热更新的代码,每次hello.rb都会启动run.rb并执行 hello.rb代码如下: #encoding: utf-8 # frozen_string_literal: true # author: k4n5ha0 # 第二行开启了冻结字符串请注意使用方式 require 'java' require 'pathname' java_import 'burp.IBurpExtender' java_import 'burp.IHttpListener' java_import 'burp

针对检查异常的情况

百般思念 提交于 2020-02-26 05:20:48
多年以来,我一直无法获得以下问题的正确答案:为什么某些开发人员如此反对检查异常? 我进行了无数次对话,阅读了博客上的东西,阅读了布鲁斯·埃克尔(Bruce Eckel)所说的话(我看到的第一个反对他们的人)。 我目前正在编写一些新代码,并非常注意我如何处理异常。 我正在尝试查看“我们不喜欢检查的异常”人群的观点,但我仍然看不到它。 我的每一次对话都以相同的问题为结尾而结束...让我进行设置: 总体而言(根据Java的设计方式), Error 是针对不应该被抓到的东西(VM有花生过敏症,有人在上面撒了一罐花生) RuntimeException 适用于程序员做错的事情(程序员走出了数组的结尾) Exception ( RuntimeException 除外)适用于程序员无法控制的事情(写入文件系统时磁盘已满,已达到该进程的文件句柄限制,并且您无法打开其他文件) Throwable 只是所有异常类型的父级。 我听到的一个常见论点是,如果发生异常,那么开发人员要做的就是退出程序。 我听到的另一个常见论点是,检查异常会使重构代码更加困难。 对于“我要做的就是退出”参数,我说即使您要退出,也需要显示一条合理的错误消息。 如果您只是在处理错误,那么当程序退出时如果没有明确说明原因的话,您的用户将不会过分高兴。 对于“它很难重构”人群,这表明未选择适当的抽象级别。 与其声明一个方法抛出

Can't install therubyracer in JRuby

北慕城南 提交于 2020-02-01 05:00:24
问题 I've installed RVM and then Jruby, this the version that i get when i type: jruby -v: jruby 1.6.5.1 (ruby-1.8.7-p330) (2011-12-27 1bf37c2) (Java HotSpot(TM) Client VM 1.7.0_02) [linux-i386-java] The problem is that I can't install therubyracer gem, i get this when i try to install by jruby -S gem install therubyracer: /usr/local/rvm/rubies/jruby-1.6.5.1/bin/jruby extconf.rb WARNING: JRuby does not support native extensions or the `mkmf' library very we$ Check http://kenai.com/projects/jruby

How to get from JRuby a correctly typed ruby implementation of a Java interface?

℡╲_俬逩灬. 提交于 2020-01-30 12:29:10
问题 I'm trying to use JRuby (through the JSR233 interface included in JRuby 1.5) from a Java application to load a ruby implementation of a Java interface. My sample implementation looks like this: Interface: package some.package; import java.util.List; public interface ScriptDemoIf { int fibonacci(int d); List<String> filterLength(List<String> source, int maxlen); } Ruby Implementation: require 'java' include Java class ScriptDemo java_implements some.package.ScriptDemoIf java_signature 'int