JSR 45 Support

Hi,

I am trying to get Idea 4.5 to work with the webserver jo! I am especially interested in getting JSR 45 to work. However, I am facing a couple of difficulties:

- Idea documentation about JSR 45 is quasi non-existent - yes, I know, the helpfiles offer descriptions about how to configure Idea, but those descriptions are mostly meaningless.

- Why do I have to set up a server with start/stop-files etc. when I just want to switch to a different stratum during debugging? Why can't I simply specify the main class, VM and program parameters like with any other application? After all, JSR 45 is by no means application server specific.

- JSR 45 support for jo! is evolving - meaning, it is not done yet. To provide flawless support, it would be nice to have a debugger that actually supports it and gives feedback.

- It seems that Idea needs some kind of mapping between packages. How do I have to configure Idea, if a jsp called 'a.jsp' is mapped to a class file 'host_.jsptest_.a_jsp.class'?

Can you guys please help me out?!

Thanks,

-hendrik

10 comments

Just making sure, but you do know that the JSR45 plugin is for those app
servers which support JSR 45, but for which IDEA doesn't provide a 'native'
plugin. To clarify, if you're using Tomcat 5 for example, you can setup the
Tomcat app server and you're getting JSR45. Same goes for the available
plugins for idea for Orion, Jboss, Resin and WebLogic.

What app server are you using?

R


On 11/14/04 8:44 PM, in article
2776899.1100483055363.JavaMail.itn@is.intellij.net, "Hendrik Schreiber"
<hs@tagtraum.com> wrote:

Hi,

I am trying to get Idea 4.5 to work with the webserver jo! I am especially
interested in getting JSR 45 to work. However, I am facing a couple of
difficulties:

- Idea documentation about JSR 45 is quasi non-existent - yes, I know, the
helpfiles offer descriptions about how to configure Idea, but those
descriptions are mostly meaningless.

- Why do I have to set up a server with start/stop-files etc. when I just want
to switch to a different stratum during debugging? Why can't I simply specify
the main class, VM and program parameters like with any other application?
After all, JSR 45 is by no means application server specific.

- JSR 45 support for jo! is evolving - meaning, it is not done yet. To provide
flawless support, it would be nice to have a debugger that actually supports
it and gives feedback.

- It seems that Idea needs some kind of mapping between packages. How do I
have to configure Idea, if a jsp called 'a.jsp' is mapped to a class file
'host_.jsptest_.a_jsp.class'?

Can you guys please help me out?!

Thanks,

-hendrik


0

Just making sure, but you do know that the JSR45
plugin is for those app
servers which support JSR 45, but for which IDEA
doesn't provide a 'native'
plugin.


I am aware of that.

What app server are you using?


I am using/developing jo!, which is a jsp capable servletengine. The JSR 45 support of this engine is evolving.

However, an IDE that claims to support JSR 45 should do so no with some plugin, but with proper integration in its debugger. JSR 45 is not JSP specific.

(Don't get me wrong - I love Idea for most of my coding needs, but this area is not satisfying)

-hendrik

0

- Why do I have to set up a server with start/stop-files etc. when I just want to switch to a different stratum during debugging? Why can't I simply specify the main class, VM and program parameters like with any other application? After all, JSR 45 is by no means application server specific.

We complained about this one already. Basically it is because webapps don't work like other java programs, but they share the same UI. I don't know if this kind of change is being considered during the current EAP.

Norris Shelton
Sun Certified Java Programmer




Hendrik Schreiber wrote:

>Hi,
>
>I am trying to get Idea 4.5 to work with the webserver jo! I am especially interested in getting JSR 45 to work. However, I am facing a couple of difficulties:
>
>- Idea documentation about JSR 45 is quasi non-existent - yes, I know, the helpfiles offer descriptions about how to configure Idea, but those descriptions are mostly meaningless.
>
>- Why do I have to set up a server with start/stop-files etc. when I just want to switch to a different stratum during debugging? Why can't I simply specify the main class, VM and program parameters like with any other application? After all, JSR 45 is by no means application server specific.
>
>- JSR 45 support for jo! is evolving - meaning, it is not done yet. To provide flawless support, it would be nice to have a debugger that actually supports it and gives feedback.
>
>- It seems that Idea needs some kind of mapping between packages. How do I have to configure Idea, if a jsp called 'a.jsp' is mapped to a class file 'host_.jsptest_.a_jsp.class'?
>
>Can you guys please help me out?!
>
>Thanks,
>
>-hendrik

>

0

- Why do I have to set up a server with
start/stop-files etc. when I just want to switch to a
different stratum during debugging? Why can't I
simply specify the main class, VM and program
parameters like with any other application? After
all, JSR 45 is by no means application server
specific.

We complained about this one already. Basically it
is because webapps don't work like other java
programs, but they share the same UI. I don't know
if this kind of change is being considered during the
current EAP.


Norris,

could you point me to the thread that discusses this? I searched, but didn't find it.

Also: Appservers usually use a non trivial classloading scheme. I could imagine that to be the reason. But this is a normal part of the language. Therefore it is nothing special and you should be able to debug it... Even if not, it would still make sense to offer real JSR 45 support for other applications than appservers.

Could one of the Jetbrains please comment on my original post?

Thanks,

-hendrik

0

Hmmm. I thought there was more conversation there. I created a feature
request:

http://www.intellij.net/tracker/idea/viewSCR?publicId=39822


Norris Shelton
Sun Certified Java Programmer




Hendrik Schreiber wrote:

>>- Why do I have to set up a server with
>>start/stop-files etc. when I just want to switch to a
>>different stratum during debugging? Why can't I
>>simply specify the main class, VM and program
>>parameters like with any other application? After
>>all, JSR 45 is by no means application server
>>specific.
>>
>>We complained about this one already. Basically it
>>is because webapps don't work like other java
>>programs, but they share the same UI. I don't know
>>if this kind of change is being considered during the
>>current EAP.
>>
>>
>
>Norris,
>
>could you point me to the thread that discusses this? I searched, but didn't find it.
>
>Also: Appservers usually use a non trivial classloading scheme. I could imagine that to be the reason. But this is a normal part of the language. Therefore it is nothing special and you should be able to debug it... Even if not, it would still make sense to offer real JSR 45 support for other applications than appservers.
>
>Could one of the Jetbrains please comment on my original post?
>
>Thanks,
>
>-hendrik
>

>

0

Hi,

Usually, one needs to use the server without knowing much details how it
starts/stops and the start/stop batch files quite often already
available in the server distribution (e.g. Tomcat, Weblogic, WebSphere,
etc) for the end user convenience.

So far we found (AFAIK) only Orion server that has easy to use class
interface so internally we have API for launching the servers that way
(thanks to Orion plugin). You can file the tracker request if you need
such interface in the server run configuration.

Hendrik Schreiber wrote:

Hi,

- Why do I have to set up a server with start/stop-files etc. when I just want to switch to a different stratum during debugging? Why can't I simply specify the main class, VM and program parameters like with any other application? After all, JSR 45 is by no means application server specific.



--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0

Hello Hendrik,

- Why do I have to set up a server with start/stop-files etc. when I
just want to switch to a different stratum during debugging? Why can't
I simply specify the main class, VM and program parameters like with
any other application? After all, JSR 45 is by no means application
server specific.

Yes, JSR45 is not specific for appliction servers, but we've never met any other case. That is why
we have JSR 45 support only for J2EE run configurations.

It's a real pain to start J2EE server, they all start differently! User interface appeared to be too universal and is
reather complex. Probably we should rework it in some way, at least add some wizards for most common cases.

- JSR 45 support for jo! is evolving - meaning, it is not done yet. To
provide flawless support, it would be nice to have a debugger that
actually supports it and gives feedback.

What kind of feedback do you need?

- It seems that Idea needs some kind of mapping between packages. How
do I have to configure Idea, if a jsp called 'a.jsp' is mapped to a
class file 'host_.jsptest_.a_jsp.class'?

No. Actually, it's rather hard to get this mapping, as rules for the mapping are complex and usually undocumented.

Usually JSP's are generated into some special package that is 'jsp_servlet' for WebLogic and 'org.apache.jsp' for Tomcat. The pattern is specified in JSR45 run configuration. IDEA tracks all loaded classes that confirm pattern and builds the mapping on the fly from JSR 45 information.

0

Usually, one needs to use the server without knowing
much details how it
starts/stops and the start/stop batch files quite
often already
available in the server distribution (e.g. Tomcat,
Weblogic, WebSphere,
etc) for the end user convenience.

So far we found (AFAIK) only Orion server that has
easy to use class
interface so internally we have API for launching the
servers that way
(thanks to Orion plugin). You can file the tracker
request if you need
such interface in the server run configuration.


Well, there are other thinkable scenarios. For example for debugging Groovy (http://groovy.codehaus.org/index.html) or Jython (http://www.jython.org/).

Guess I should look at the Orion plugin.

Thanks,

-hendrik

0

Yes, JSR45 is not specific for appliction servers,
but we've never met any other case. That is why
we have JSR 45 support only for J2EE run
configurations.


Please see above: Groovy (http://groovy.codehaus.org/index.html) or Jython (http://www.jython.org/). I am sure there are other examples.

It's a real pain to start J2EE server, they all start
differently!


I totally understand. And after all you need to make it extra easy for the 90% case, i.e. Tomcat.

User interface appeared to be too
universal and is
reather complex. Probably we should rework it in some
way, at least add some wizards for most common cases.


It would be nice to have an alternative to calling scripts. And launching the debuggee process just like in the normal debugger should be a piece of cake for you guys. However, this is not the biggest problem.

- JSR 45 support for jo! is evolving - meaning, it

is not done yet. To

provide flawless support, it would be nice to have

a debugger that

actually supports it and gives feedback.

What kind of feedback do you need?


This is not a feature request, as it is completely useless to the ordinary user of Idea. However, while playing around with this I realized that I have no clue whether the debugger picked up my smap attributes or not and how it mapped them. If there was a setting that allowed me to check what the debugger thinks is going on, that would be nice.

- It seems that Idea needs some kind of mapping

between packages. How

do I have to configure Idea, if a jsp called

'a.jsp' is mapped to a

class file 'host_.jsptest_.a_jsp.class'?

No. Actually, it's rather hard to get this mapping,
as rules for the mapping are complex and usually
undocumented.

Usually JSP's are generated into some special package
that is 'jsp_servlet' for WebLogic and
'org.apache.jsp' for Tomcat. The pattern is specified
in JSR45 run configuration. IDEA tracks all loaded
classes that confirm pattern and builds the mapping
on the fly from JSR 45 information.


Hm. The name of the source file is in the class file. And all other information you need should be available from the smap attribute. What do you need this package mapping for?

Thanks,

-hendrik

0

- It seems that Idea needs some kind of mapping

between packages. How

do I have to configure Idea, if a jsp called

'a.jsp' is mapped to a

class file 'host_.jsptest_.a_jsp.class'?

No. Actually, it's rather hard to get this

mapping,

as rules for the mapping are complex and usually
undocumented.

Usually JSP's are generated into some special

package

that is 'jsp_servlet' for WebLogic and
'org.apache.jsp' for Tomcat. The pattern is

specified

in JSR45 run configuration. IDEA tracks all loaded
classes that confirm pattern and builds the

mapping

on the fly from JSR 45 information.


Hm. The name of the source file is in the class file.
And all other information you need should be
available from the smap attribute. What do you need
this package mapping for?


And my special case for OC4J is that it uses the ]]> package, which I could not configure in 'JSR45 Compatible Server'.

0

Please sign in to leave a comment.