Re: Orion on Linux, Follow-up Question
I think this is because your user account is unable to run the server on reserved port 80. Modify Orion's default-website.xml file to use a port above the reserved range, (1000 or something like that). I use 8000. wcn Jimbo Jones wrote: My previous problem, starting Orion on linux, was due to the fact that I was calling upon the wrong JVM (even though I thought I had my path set correctly). That is resolved. Now I have another problem that seems more linux-related than Orion-related, but perhaps some of you know the solution. I have Orion running on linux, and from that machine I can access Orion-served pages. But I cannot do so from outside that machine. What's more, I am unable to run it on a user account. For now, I'm running under root. But like I said, I cannot connect to it from another machine. Upon doing some investigating, I have discoverd that when I try to connect from another machine, Orion is sending the HTTP headers only and then freezes without sending anything else. The page never loads, it just hangs indefinitely. I strongly suspect this has something to do with linux and not Orion. I cannot run Orion on a user account because it tells me I don't have permission to run an HTTP server. I don't get that message as root, but I wonder if there is some linux mechanism at work blocking my attempts to transmit data via HTTP. Your help in resolving this issue is greatly appreciated. -James _ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
Re: SMP/Linux/Hotspot/Orion problem.
I am using an smp machine with 2.2..17 kernel. I find the classic vm to be slow but nothing like a 5 min pause. Can you tell us more about your config and what your doing? wcn James Hill wrote: Did anyone find a real solution to this problem? I have 2 smp linux boxes that running -classic mode (which is painfully slow). I have considered removing (disabling) one of the CPS to fix it. The symptoms are long pauses of up to 5+ minutes, then everything is ok. Thanks, James
Re: Storing application scoped data in EJB
I think you can use JNDI and your ejb context to store such things provided that they are serializable. I don't think such a JNDI scheme would garantee synchronization on your shared object. I've also had difficulty makeing such objects serializable but mine had socket connections buried in it, (connection pool). There is also the issue of performance and jndi lookups... I eventually resorted to deploying all my global scope shared objects in a separate jar which is deployed on the server, not the ejb app, ie. I put it in /orion/lib/thing.jar. Make sure that any references to such objects are nulled before passivation or the ejb's won't serialize cleanly... Note also that this scheme will allow you to have a server scoped object. If your using clusters, the that's a whole other kettle of fish... wcn Mikael Ståldal wrote: How do I store application scoped data in the EJB tier? Like using setAttribute()/getAttribute() in ServletContext (application in JSP) in the web tier. Using instance attributes in Stateless Session Beans doesn't work, since there can be several instances, and you never know which one is used. Using static attributes in an EJB class doesn't work well either, since they may be shared among several applications running in the same server. Is it possible to use JNDI for this? Can I just use rebind() and lookup() with arbitrary objects on the EJB JNDI InitialContext, just like I use ServletContext?
rmi question
I have found that instantiating a class with a static member to manage a pool of application connections (to a proprietary host app) does not work, because passivated beans, when activated do not get the static member from the current running vm, but an empty one. That's life in EJB servers and I'm not confused about that. (just using the static class violates the EJB standard... ). After reading a lot of email archives I gather that it is necessary to create an RMI server to accomplish a single interface to this object fro all the EJB's in the app (potentially clustered). That's nice, but I have to know how to do several things: -package the rmi server component in the ear -start the server when the app starts or start it from within the first session bean. Is this possible? If I implement an RMI server will I now have a nightmare of configuration requirements to get my app to work on a variety of servers? Thanks Wendell Nichols
getting a cached copy of jsp on reload
Using Orion 1.5.2 When I redeploy an application and access a jsp page the first time I can debug through jsp pages, and ejb's. However when the first pass through the code is finished, if I press reload on the browser it does not go through my code. It apears to get a chched copy of the page, which displays instantly. I am using Netscape browser, and Linux for a OS. I have no caching proxies, this is all happening on one machine. If I make a minor modification to any file in the app (ear file) and redeploy it, I get to debug again. If this is the way it's suppose to work then it's a bug. My jsp page could very well be accessing constantly changing data in a database and serving a cached copy is not the right thing to do, even one second from the last access. Is there a config parm I've missed? Wendell Nichols
debug jsp pages and where is the source
When I access a jsp page which uses a tag library I get an error: 500 Internal Server Error Error parsing JSP page /ectsdemo/TagLibDemos/booklist.jsp line 15 Bean type 'String' not found I suspect that this is a problem creating the java file from the jsp page related to the tag extra info class... At any rate I can't find the source or class files that Orion generates from jsp pages so it's impossible to proceed. Does anyone know how to make Orion place java and class files for jsp pages somewhere where they can be viewed and debugged? I see jsp cache files which are probably some sort of java archive internal to Orion, but these don't help me as I can't open them... Incidentally the jsp line that produced the above error looks like: ects:eCTSTaglet name="BOOKLIST" > The taglib entry for eCTSTaglet: tag> name>eCTSTaglet/name> tagclass>com.Amdahl.eCTS20.ects2taglet/tagclass> teiclass>com.Amdahl.eCTS20.ects2tagletTEI/teiclass> bodycontent>JSP/bodycontent> info> Run a named taglet. /info> attribute> name>name/name> required>true/required> /attribute> attribute> name>resultString/name> required>false/required> /attribute> attribute> name>userdata/name> required>false/required> /attribute> /tag> Its TEI class : public VariableInfo[] getVariableInfo(TagData data) { return new VariableInfo [] { new VariableInfo("eCTSResult", "String", true, VariableInfo.AT_BEGIN), new VariableInfo("EndMsg", "String", true, VariableInfo.AT_BEGIN), new VariableInfo("ReturnMsg", "String", true, VariableInfo.AT_BEGIN) }; } Any help would be appreciated.. Wendell Nichols Amdahl Software Ltd. and Fujitsu Apserv.
Re: debug jsp pages and where is the source
Well I made the jsp page work by explicitly importing "java.lang.String", as opposed to "java.lang.*" as I had done for other servers. Because this shouldn't bother other servers I'm ok with it. I still need to have access to the jsp.java files for debugging purposes before Orion will be an acceptable server for me... Wendell Nichols Amdahl Software Ltd. Fujitsu Appserv. Wendell Nichols wrote: When I access a jsp page which uses a tag library I get an error: 500 Internal Server Error Error parsing JSP page /ectsdemo/TagLibDemos/booklist.jsp line 15 Bean type 'String' not found I suspect that this is a problem creating the java file from the jsp page related to the tag extra info class... At any rate I can't find the source or class files that Orion generates from jsp pages so it's impossible to proceed. Does anyone know how to make Orion place java and class files for jsp pages somewhere where they can be viewed and debugged? I see jsp cache files which are probably some sort of java archive internal to Orion, but these don't help me as I can't open them... Incidentally the jsp line that produced the above error looks like: ects:eCTSTaglet name="BOOKLIST" > The taglib entry for eCTSTaglet: tag> name>eCTSTaglet/name> tagclass>com.Amdahl.eCTS20.ects2taglet/tagclass> teiclass>com.Amdahl.eCTS20.ects2tagletTEI/teiclass> bodycontent>JSP/bodycontent> info> Run a named taglet. /info> attribute> name>name/name> required>true/required> /attribute> attribute> name>resultString/name> required>false/required> /attribute> attribute> name>userdata/name> required>false/required> /attribute> /tag> Its TEI class : public VariableInfo[] getVariableInfo(TagData data) { return new VariableInfo [] { new VariableInfo("eCTSResult", "String", true, VariableInfo.AT_BEGIN), new VariableInfo("EndMsg", "String", true, VariableInfo.AT_BEGIN), new VariableInfo("ReturnMsg", "String", true, VariableInfo.AT_BEGIN) }; } Any help would be appreciated.. Wendell Nichols Amdahl Software Ltd. and Fujitsu Apserv.
Re: debug jsp pages and where is the source
Oops, I got had by a deployment thing, (orion didn't recompile the jsp file when the TEI class changed...). The thing that actually fixed the jsp compile problem was changeing the tei class from new VariableInfo("eCTSResult", "String", true, VariableInfo.NESTED), to new VariableInfo("eCTSResult", "java.lang.String", true, VariableInfo.NESTED), The import didn't have anything to do with it. :( I've also figured out how to get access to the jsp source files: In your config/global-web-application.xml file there is an orion-web-app> node. Add the property: development="true" there, and to any other web-xml files in your applicatio-deployments tree as necessary. This will cause orion to keep copies of the jsp.java files in your persistence directory tree, however it will name them wrong :( My debugger looks for a source file of the same name of the class where the jvm is breakstopped so it necessary to rename the source files so that they conform to the name of the class within so that the ide will find them, (in this case NetBeans). If you do that you can actually step through the code. All tHis being said, there is still one catch: Even with development mode turned on Orion is compiling the jsp.java files without the "-g" debugging switch so you don't have access to all the variable info. Outside of using an external compiler for jsp's I don't see how to switch debugging on... If I find out I'll post it here :=) WCN Wendell Nichols wrote: Well I made the jsp page work by explicitly importing "java.lang.String", as opposed to "java.lang.*" as I had done for other servers. Because this shouldn't bother other servers I'm ok with it. I still need to have access to the jsp.java files for debugging purposes before Orion will be an acceptable server for me... Wendell Nichols Amdahl Software Ltd. Fujitsu Appserv. Wendell Nichols wrote: When I access a jsp page which uses a tag library I get an error: 500 Internal Server Error Error parsing JSP page /ectsdemo/TagLibDemos/booklist.jsp line 15 Bean type 'String' not found I suspect that this is a problem creating the java file from the jsp page related to the tag extra info class... At any rate I can't find the source or class files that Orion generates from jsp pages so it's impossible to proceed. Does anyone know how to make Orion place java and class files for jsp pages somewhere where they can be viewed and debugged? I see jsp cache files which are probably some sort of java archive internal to Orion, but these don't help me as I can't open them... Incidentally the jsp line that produced the above error looks like: ects:eCTSTaglet name="BOOKLIST" > The taglib entry for eCTSTaglet: tag> name>eCTSTaglet/name> tagclass>com.Amdahl.eCTS20.ects2taglet/tagclass> teiclass>com.Amdahl.eCTS20.ects2tagletTEI/teiclass> bodycontent>JSP/bodycontent> info> Run a named taglet. /info> attribute> name>name/name> required>true/required> /attribute> attribute> name>resultString/name> required>false/required> /attribute> attribute> name>userdata/name> required>false/required> /attribute> /tag> Its TEI class : public VariableInfo[] getVariableInfo(TagData data) { return new VariableInfo [] { new VariableInfo("eCTSResult", "String", true, VariableInfo.AT_BEGIN), new VariableInfo("EndMsg", "String", true, VariableInfo.AT_BEGIN), new VariableInfo("ReturnMsg", "String", true, VariableInfo.AT_BEGIN) }; } Any help would be appreciated.. Wendell Nichols Amdahl Software Ltd. and Fujitsu Apserv.
Tag library TEI difference
I have a small tag library application which I have successfully deployed on Jrun and Tomcat. The tei class describes a field like this: public VariableInfo[] getVariableInfo(TagData data) { return new VariableInfo [] { new VariableInfo(eCTSResult, String, true, VariableInfo.NESTED), new VariableInfo(EndMsg, String, true, VariableInfo.NESTED), new VariableInfo(ReturnMsg, String, true, VariableInfo.NESTED) }; } When this app is deployed on orion I get the error: Bean 'String' not found. In order to make this work I had to change String to java.lang.String I've also noticed some pretty inconsistent results using auto-redeployment. It works sometimes, an other times it takes an error opening the ear file. In these cases I have to recycle the server. Wendell Nichols Amdahl Software Ltd. A Fujitsu Company