<GitHub148>
[jruby] ioquatix opened issue #4619: ObjectSpace is disabled; each_object will only work with Class https://git.io/vHTwg
<GitHub142>
[jruby-openssl] roadrunner2 opened issue #134: X509ExtensionFactory generates incorrect extension for subjectAltName https://git.io/vHT6R
donV has joined #jruby
camlow325 has joined #jruby
camlow325 has quit [Ping timeout: 268 seconds]
kith has quit [Ping timeout: 268 seconds]
vtunka has joined #jruby
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
drbobbeaty has joined #jruby
drbobbeaty has quit [Client Quit]
mgk has joined #jruby
<mgk>
Hi there, not sure if this is the right place to start this discussion but I guess this is as good a place as anywhere:
<mgk>
I've been using JRuby in Production for about 3 years now but I'm very reluctant to sell it to a new client
<mgk>
While the jruby implementation is still improving impressively, I have the feeling, the ecosystem is suffering from increasing neglect.
<mgk>
Torquebox (which we use in v3 and is a terrific platform) has not seen a new release for ages. The 4.x-branch is stuck in beta for years now. And I dont really know of a well mantained alternative. Same goes for activerecord-jdbc-adapter which is only "lightly" maintained.
<mgk>
I absolutely appreciate that these are free open source projects and I have absolutely not right to "demand" support for those components.
<mgk>
However, I feel a bit sad that JRuby becomes less and less viable as platform for web apps since so many necessary components are not maintained anymore
<mgk>
Am I completely wrong with my perception? Would you still recommend an enterprise client to create a new web app based on jruby?
<nirvdrum>
mgk: Perhaps bbrowning can shed more light on TorqueBox. But other web servers like Puma should work just fine with JRUby. Passenger has multi-threaded support for JRuby, but I believe you have to pay for it.
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
camlow325 has joined #jruby
yahonda has joined #jruby
<mgk>
The problem is, that Puma and Passenger are both rather difficult to deploy on Windows which is (unfortunately) a hurdle with some of our clients. Torquebox was perfect because you could basically unzip and run the app on most platforms. Also, the background processing/messaging in Torquebox is great.
<bbrowning>
TorqueBox is no longer actively developed, although every now and then I do fix glaring issues. If someone in the community wanted to take over development that would be great. Or, if as a company you're willing to fix issues you find then that's fine too. But, I don't have time to fix TorqueBox issues these days.
<mgk>
Yeah, thats very sad. Its such a great project! Looking at all the other Java-"native" servers (Trinidad, etc.), most of them also have not seen a commit in many months.
<mgk>
Thats what I mean. I think the value of JRuby is really tied to the availability of robust (Java-based) deployment options. Once you have to rely on gems with native extensions to deploy your apps, the deployment becomes much more complicated (and harder to sell to IT departments in charge of the deployments).
<mgk>
The same goes for activerecord-jdbc, which also seem to be pretty much abandoned (still getting errors that its not yet fully compatible with Rails 4.2, which is pretty old by now).
camlow325 has quit [Ping timeout: 246 seconds]
<mgk>
I guess my point is that while you have several robust options for all layers of the stack when deploying web apps with MRI, with JRuby its often hard to fine even one well maintained option. No stable, well maintained app server, no stable, well maintained database connectivity layer, not stable, well maintained background processing, etc.. Which stack
<mgk>
would you use to create a easily deployable, cross-platform JRuby Rails app?
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
devilsadvocate has joined #jruby
<devilsadvocate>
is it a good idea to drop to ArrayList while sorting if the sort in ruby is expensive? would that make a difference?
<mgk>
Ruby arrays are backed by Java ArrayList objects, afaik. How do you sort? What is your sort criterion?
donV has quit [Ping timeout: 260 seconds]
<GitHub116>
[jruby] kares closed issue #4615: No response from rails 4.2.8 with puma in production mode JRuby 9.1.8.0+9.1.9.0 on Linux https://git.io/vHv57
subbu is now known as subbu|away
<devilsadvocate>
mgk: I was doing a basic sort (just calling .sort) for the time being
<devilsadvocate>
I'm running a profile between "java.util.ArrayList.new(test_data).ruby_sort.to_a" and "test_data.sort" atm
<devilsadvocate>
is that a poor comparison?
<nirvdrum>
mgk: Not to take away from activerecord-jdbc, because that is a Herculean effort, but I'd suggest giving Sequel a try.
<nirvdrum>
Replacing ActiveRecord with Sequel does require some effort, but it works quite well. Sequel doesn't need to try to track an undefined, moving target (i.e., the ActiveRecord "API").
<nirvdrum>
And generally I find it optimizes much better on JRuby.
<mgk>
nirvdrum: I consindered that, but I guess I just wanted to start a conversation about the general direction of the JRuby eco system. I just have the feeling (not only mine, shared by some devs I talked to), that the great potential of JRuby as probably the best Ruby implementation is somehow wasted a bit because there is no stanard Rails stack that just
<mgk>
works cross platform and is actively maintained.
<mgk>
I'm afraid the JRuby core team is investing so much effort but then JRuby is not used as a development platform because you just dont start a multi-year project using software which is practically abandoned.
<nirvdrum>
I don't really have a good answer there. ActiveRecord changes all the time and relies on native extensions. And since it doesn't really have an API, AR "plugins" are really just monkey-patches that require an exact class structure.
<nirvdrum>
The Rails team doesn't seem interested in having JRuby as a first class citizen, at least when it comes to AR. So, JRuby always lags on that front.
<mgk>
Its been biting us with Torquebox somehow (it still works great but its will probably keeps us from updating to 5.x)
<nirvdrum>
As for the deployment concerns, JRuby works considerably better on Windows than any other implementation.
<nirvdrum>
And it should work with the same app servers on *nix.
<nirvdrum>
But I agree, having an all-in-one application server like TorqueBox is really nice. I used to use that extensively.
<nirvdrum>
I suspect the work to get TB running with Rails 5.x isn't that great. In the past, it's mostly just a tweak or two. If you ask in the #torquebox channel, I bet someone can help you.
<nirvdrum>
But if TorqueBox is a dead product, you'll have to weigh that concern on your own.
<mgk>
It running better on Windows was one of the reasons we chose it. I also appreciate, that its not mine to tell anyone how to spend their time and efforts. I just feel that it might be a good idea, if maybe even some of the core developers would spend some time of getting/keeping at least one deployment option maintained.
<mgk>
Otherwise, it might just be that while JRuby continues to be a terrific Ruby implementation, noone will use it anymore because the ecosystem is so "instable"
<bbrowning>
It's an interesting question, and it comes down to use-cases and how JRuby is typically used in production.
<mgk>
While many other great Ruby web frameworks have popped up in recent years, me guess would be that RoR is still the "killer app" that drives people to Ruby and therefore JRuby
Aethenelle has joined #jruby
<mgk>
In my experience, people rarly use JRuby as scripting language for Java projects. Groovy is much more common in that area (it being so close to Java syntax-wise)
<havenwood>
mgk: What Windows trouble are you running into with Puma?
<havenwood>
I'm a bit surprised it didn't *just work*.
<bbrowning>
mgk: I'm not sure that the funnel of users from Ruby to JRuby is largely driven by Rails, even if Rails drives Ruby adoption.
<mgk>
The last time I tried it, it only worked with DevKit installed.
<havenwood>
mgk: Is that a problem?
<havenwood>
Hmm
<mgk>
For many IT departments, it is. With Torquebox, you just need to have a JVM and dont have to install 50 "weird unix" binaries just to get that stuff running. Not to mention PATH settings and whatnot. I agree, its not terribly complicated but we often have to deal with IT departments which have 200+ different applications to manage and such complicated
<mgk>
deployment scenarios is often a no go and for us was a major reason for TorqueBox.
subbu|away is now known as subbu
<mgk>
You can also "sell" it as basically a JBoss server which is something the recognize. I know this sound weird but doing most of our work with enterprise clients, that usually how these departments work/think
<havenwood>
mgk: I'd suggest giving Puma another try if you haven't recently. Things have gotten smoother. I've not installed it on Windows recently but it might be much better than it was.
<havenwood>
mgk: It's gotten a lot of love since being selected as the Rails default.
hobodave has joined #jruby
<mgk>
Will do. Thanks! Concerning Sequel, I only had a short look at it recently. The issue there is that many common rails libs we use (devise, state-machines) dont support sequel which makes to very laborious to use
<mgk>
for us, I should say
hobodave has quit [Client Quit]
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
camlow325 has joined #jruby
camlow325 has quit [Client Quit]
camlow325 has joined #jruby
devilsadvocate has quit [Ping timeout: 260 seconds]
vtunka has quit [Quit: Leaving]
<mgk>
havenwood: Did try out our app with puma just now. Besides some torquebox-specific code it seems to run quite well. However, there seems to be no way to install Puma as windows service
<nirvdrum>
mgk: Assuming devise and what not use ActiveModel, getting that running with Sequel shouldn't be too hard.