Skip to content

Instantly share code, notes, and snippets.

"\"buildpacks\": [{\"url\": \"https://github.com/jkutner/heroku-buildpack-recompose\"}," +
"{\"url\": \"https://github.com/heroku/heroku-buildpack-jvm-common\"}," +
"{\"url\": \"https://github.com/tunnels-addon/buildpack\"}], " +
@jkutner
jkutner / Main.java
Created September 20, 2016 16:55
Jetty with health check
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.*;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.*;
import java.net.*;
import javax.net.ssl.*;

Deploy by pressing this button:

Deploy to Heroku

mkdir .gem
export GEM_HOME=.gem
export GEM_PATH=.gem
gem install mongo --no-rdoc --no-ri
cat <<RUBY > mongo-test.rb
require 'mongo'
client = Mongo::Client.new(ENV['MONGOLAB_URI'] || ENV['MONGODB_URI'])
database = client.database
puts "collections: #{database.collection_names.inspect}"
RUBY
PS C:\Users\jkutner\jruby\jruby-dist-9.1.2.0-bin\jruby-9.1.2.0> .\bin\jruby.exe -S gem install warbler -v 2.0.1
NameError: uninitialized constant JRuby::Windows::File::Constants::FFI
const_missing at org/jruby/RubyModule.java:3309
<module:Constants> at uri:classloader:/jruby/kernel/file.rb:10
<module:File> at uri:classloader:/jruby/kernel/file.rb:8
<module:Windows> at uri:classloader:/jruby/kernel/file.rb:7
<module:JRuby> at uri:classloader:/jruby/kernel/file.rb:6
<top> at uri:classloader:/jruby/kernel/file.rb:5
load at org/jruby/RubyKernel.java:962
<top> at file:/C:/Users/jkutner/jruby/jruby-dist-9.1.2.0-bin/jruby-9.1.2.0/lib/jruby.jar!/jruby/kernel.rb:1
rm -f /app/.jdk/jre/lib/security/cacerts
ln -s /etc/ssl/certs/java/cacerts /app/.jdk/jre/lib/security/cacerts
require 'net/http'
uri = URI.parse("https://www.ncdc.noaa.gov/cdo-web/")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.ciphers=["ECDHE+RSA+AES128+SHA256"]
http.get(uri.request_uri)
java.lang.NullPointerException: value at io.netty.util.internal.ObjectUtil.checkNotNull(ObjectUtil.java:31)
at io.netty.handler.codec.DefaultHeaders.addObject(DefaultHeaders.java:314)
at io.netty.handler.codec.http.DefaultHttpHeaders.add(DefaultHttpHeaders.java:119)
at ratpack.websocket.internal.WebSocketEngine.connect(WebSocketEngine.java:65)
at ratpack.websocket.WebSockets.websocket(WebSockets.java:65)
at ratpack.websocket.WebSockets.websocketByteBufBroadcast(WebSockets.java:92)
at ratpack.dropwizard.metrics.MetricsWebsocketBroadcastHandler.handle(MetricsWebsocketBroadcastHandler.java:54)
at ratpack.handling.internal.DefaultContext.next(DefaultContext.java:256)
at ratpack.handling.internal.MethodHandler.handle(MethodHandler.java:44)
at ratpack.handling.internal.DefaultContext.next(DefaultContext.java:256)
$ cat file
this is the file
[vagrant@vagrant-freebsd-10 ~]$ mjruby -v
ELF binary type "0" not known.
-bash: /home/vagrant/jruby/jruby-9.0.4.0/bin/mjruby: cannot execute binary file: Exec format error
[vagrant@vagrant-freebsd-10 ~]$ readelf -e jruby/jruby-9.0.4.0/bin/mjruby
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)