Scalive

584 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
584
On SlideShare
0
From Embeds
0
Number of Embeds
52
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Scalive

  1. 1. REPLアタッチツール Scaliveの紹介(仮) 20140715 Scalive # 1(http://connpass.com/event/6903)
 https://github.com/georgeOsdDev/scalive-demo
 Takeharu.Oshida
  2. 2. Self Introduction • 押田丈治
 (https://github.com/georgeOsdDev) • Mobilus
 (http://mobilus.co.jp/) • Xitrum-framework
 (https://github.com/xitrum-framework
  3. 3. About Scalive • Trouble shooting in production mode • On memory variable values
 Ex:atomic number on Hazelcast • Reload config file • Debug application without IDE
  4. 4. Demo • http://youtu.be/h45QQ45D9P8 • https://github.com/georgeOsdDev/scalive-demo
  5. 5. Implementation of Scalive ./scalive! JVM processes:! #pid! Display name! 21806! scalive.AgentLoader ! 13118! jp.co.your.app.MainClass! 1947! jp.co.another.MainClass! 
 $ ./scalive 13118! [Scalive] Attached to remote process at port 43038! ! scala> Java Application Process JVM(Oracle) Scalive Process Start REPL Server #1 final VirtualMachine vm = VirtualMachine.attach(pid); #5 Client.connectToRepl(port); #2 vm.loadAgent(agentJar, jarpaths + " " + port); #4 final ServerSocket server = new ServerSocket(port); The Attach API : https://blogs.oracle.com/CoreJavaTechTips/entry/the_attach_api
  6. 6. Scalive feature ✓ No setup at client application ✓ No reboot at client application ✓ Support default system class loader(Play, Xitrum,...)
 (Processes with multiple class loaders are not supported like SBT) ☓ Autocompletion ☓ History 
 https://github.com/xitrum-framework/scalive/issues

×