Does the websphere integration really work?
Hi there,
I've been trying, without much success, to get an ear with ejb modules deployed
in Webshphere (and have it work as well) using the WAS integration in IDEA
7. So far, it looks to me this is not working, as no matter what I tried
yielded no positive results.
I'm ready to give up, but I thought I'd give it one more shot and ask (again)
on the forums: has anyone managed to configure it so an application containing
one ejb module and several web modules is properly deployed by IDEA? Is this
issue (http://www.jetbrains.net/jira/browse/IDEADEV-9962) going to be addressed
any time soon and, if not, what's the recommended workaround?
I have a few colleagues who like very much what IDEA has to offer, but stick
with Eclipse+WTP mainly because webshphere integration works nicely for that
combo. It would be great if IDEA could, at least, keep up with that.
Thx,
Andrei
Please sign in to leave a comment.
Really, Websphere doesn't work with anything but products developed or sponsored by IBM. I'm in the same predicament as you, and the only solution I've found so far is keeping both IDEA and IBM RAD open simultaneously. I do all my coding in IDEA, then switch to RAD, refresh the project files, and deploy to WAS from there.
Not pretty (and not particularly memory efficient), I know, but I've come to hate Websphere so much that I can't even blame JetBrains. It's probably not their fault. Websphere just sucks. My only refreshment is hope for a good afterlife, as a reward for suffering so much for so long in the hands of IBM products.
Hello Marcus,
Oh, don't get me wrong, I know too well how awful websphere is. I was just
hoping for a bit of help in dealing with this nightmare and since there is
a plugin oficially released I hoped it works, too. It looked quite elaborate
and I just expected at least one of the possible configurations to get me
somewhere.
Mind you, though, deploying from ant does work, so it is possible to get
some integration in place. I'll probably end up using ant in some way, as
keeping Eclipse open just for starting webshpere is not very pleasant.
Best,
Andrei
Ah ... so it's not just me then.
Frankly, I'm amazed that Jetbrains manage to read the Eclipse project files.
I do exactly the same; code in IDEA and then just build in RAD (remembering that unlike IDEA, RAD cannot detect changes unless you thump the F5 key a few times.)
And yes, Websphere does suck and at the price, there's no excuse for it.
I'm unfortunately feeling the same pain ...
+100
Work around is to postprocess / deploy via ANT
http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/index.jsp?topic=/com.ibm.etools.j2eeapp.doc/topics/tantexampleautodeploy.html
Andrei Oprea wrote:
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"
Hello Maxim,
Glad to see someone from JetBrains chiming in...
MM> Work around is to postprocess / deploy via ANT
MM> http://publib.boulder.ibm.com/infocenter/rtnlhelp/v6r0m0/index.jsp?t
MM> opic=/com.ibm.etools.j2eeapp.doc/topics/tantexampleautodeploy.html
Thanks, that's the solution I settled for so far, deploy the IDEA created
ear file from ant.
But here's what I managed to find in the meantime:
The main thing lacking from the websphere integration plugin is the ejb deploy
part. I recompiled the plugin with the following additions (in AppManagementWrapperImpl.createProperties)
and the ejbs deployed OK.
properties.put(AppConstants.APPDEPL_RELOADENABLED, Boolean.TRUE);
properties.put(AppConstants.APPDEPL_RELOADINTERVAL, "5");
properties.put(AppConstants.APPDEPL_DEPLOYEJB_CMDARG, Boolean.TRUE);
Hashtable deployOptions = new Hashtable();
deployOptions.put(AppConstants.APPDEPL_DEPLOYEJB_VALIDATE_OPTION, Boolean.TRUE);
properties.put(AppConstants.APPDEPL_DEPLOYEJB_OPTIONS, deployOptions);
You might want to include the above in the released version of the plugin
(the reload options are not mandatory, I just thought I'd try them as well)
even without exposing them in the configuration UI. I'd dare say the fix
is mandatory, as I can't see how the integration can work without it, unless
the step is performed manually on the ear/jar beforehand (which is more cumbersome).
Here's some documentation I managed to find related to that piece of logic:
http://publib.boulder.ibm.com/infocenter/adiehelp/index.jsp?topic=/com.ibm.wasee.doc/info/ee/javadoc/ae/com/ibm/websphere/management/application/AppManagement.html
The one thing I'm still having problems with is passing on the defaultbinding
option (it does not seem to be taken into account for the java interface).
This is the "-usedefaultbindings" option when deploying from ant, but I can't
figure out how to pass it in (it seems to be ignored). So I'm a bit ahead,
but not done yet, since there are quite a lot of bindings that are not explicitly
expressed in our *.xmi files. In the meantime, as mentioned, I'm using an
ant target for deployment (I start websphere from IDEA and then deploy using
ant, much easier than keeping eclipse around).
However, for someone with complete xmi files, the aditional ejbdeployment
step might do the trick. I can post the compiled updated class here, if anyone
is interested.
Best,
Andrei
Thank you very much! We will include your patch.
Andrei Oprea wrote:
--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"