I have been using Orion 1.0 to develop an application over the last month. I
like the way Orion works as a simple Java application: add a few lines to the
config files, run it, and it automatically does all the deployment stuff. It is
much easier to use than the other application servers I tried. Following are
several questions and comments.

- The load-on-startup tag in the web.xml file for a servlet does not seem to
work for me. The servlet runs fine if I access its URL, but it is not loaded on
startup by Orion. The web application is part of a j2ee application. What am I
doing wrong?

>From web.xml:

     ...
     <servlet>
          <servlet-name>TaskLsdServlet</servlet-name>

<servlet-class>com.lycos.ni.task.request.lsd.TaskLsdServlet</servlet-class>
          <load-on-startup>-1</load-on-startup>
     </servlet>
     ...

- Automatic reloading of j2ee applications doesn't work the way I would expect
it to. While developing, it is much easier to work on an expanded EAR, i.e., a
regular directory hierarchy. Currently, JSP files are automatically reloaded by
Orion after being edited. However, if I recompile any of my classes (servlets or
EJBs) then Orion does not notice the changes. I must kill Orion (^C), then
remove the deployment directory from the application-deployments directory, and
then restart Orion. This forces Orion to redeploy the entire application, but is
is slow and tedious and it only gets slower the more EJBs I add. I would expect
Orion to notice the changed class or jar files and automatically reload them,
similar to the way programs like Apache JServ and Resin work.

- Automatic reloading of EAR files breaks if the EAR file is being written to.
When Orion notices a j2ee application deployed in an EAR file has been modified,
it immediately tries to redeploy the application. However, if the EAR is still
being written to, then Orion reads an incomplete file and reports an error. It
would be useful for Orion to wait a few seconds after the file has stopped
changing before trying to redeploy (whether a file is "changing" can be
ascertained by looking at its access and modification times and at its size and
waiting until they do no change for several seconds).

- Currently, I must add all libraries for all applications to Orion's lib
directory. I would much rather be able to specify a classpath for each web
application, along with a global classpath for Orion. Copying jar files into a
directory is not my preferred way for loading libraries, since it means having
multiple copies of jar files separate from the full set of files with which the
jar file is distributed. For instance, Resin lets you specify a classpath for
each application, and a global classpath can be set using the CLASSPATH
environment variable. Orion ignores the global CLASSPATH variable when running
applications.

- How can I specify different config and libraries directories for Orion? I
would like to keep these directories and files separate from the Orion
distribution directory so that upgrading to later versions is easier.

- Orion currently requires copying the tools.jar file from the JDK into the
Orion directory. Can't Orion infer the location of the tools.jar file from the
JDK's home directory? Couldn't this be specified using the system CLASSPATH
rather than copying a file into Orion?

- Could the mailing list be changed to include "[ORION-INTEREST]" in the subject
of each message? This would make scanning for messages in my inbox easier.




Reply via email to