1. After installation was completed, I changed the
AppComposer directory name and now it won't start. Why?
The most likely reason is that the new directory name contains a space
and should be removed. Directories with spaces just don't work. Remove
the space, quit any "hung" processes and restart AppComposer.
2. I installed AppComposer and it won't start (crashes at startup).
What am I doing wrong?
The issue is the same as in item #1. If AppComposer was installed into
C:\Program Files\AppComposer, it will not launch properly. You CANNOT have
a space in the directory path for AppComposer to work properly.
3. Why isn't my deployed WAR file working?
There are several places where things can go wrong.
First: Something could have gone wrong while the WAR file was being
built,and you might not have noticed. Errors during the Deploy as WAR
command are only listed in the General console. There's no error dialog
or anything. (Yes, we plan to fix this eventually.)
Next: The app server needs to recognize and "load" the
WAR file. Some app servers will do this dynamically, while others need
to be shut down and re-started. One potential source of problems is
if you are re-deploying a WAR file with the same name -- in Tomcat,
you need to delete the directory it expands your WAR file into so Tomcat
will expand the "fresh" WAR file.
Finally: Lots of things can go wrong. If the server can't seem to
find your servlet capsules at all, take a look at the server logs to
try to figure out what's wrong.
Note: Capsules need to be at the "root" level of the project
in order to be deployed properly.
Also note: You can't have a servlet with the same name as a JSP file
in the same directory. A common problem is having a servlet with a
JSP template file with names like MyServlet.zac and MyServlet.jsp.
The JSP file must have a different name, or should be moved into a
sub-directory (ie. templates/MyServlet.jsp)
4. I made a bunch of changes to my component, and I replaced the
jar in the AppComposer/beans directory. Why aren't the new methods
I added to the component visible?
AppComposer scans the beans directory for new jar files, and will load
_new_ jars. However, it can't reload a file once it has scanned it. You
need to quit AppComposer, then replace the jar file, and start AppComposer
5. I changed my component(s), quit AppComposer, and replaced the
jar as described above. Now I can't open the capsules that I was working
on. Why won't they open?
If you remove a component entirely from the jar file, capsules that
used that bean will not be able to be opened in AppComposer. Also, certain
changes to a component such as removing a method or property, or changing
the type of a property or parameter, may cause AppComposer to encounter
problems trying to open capsules which contain the component and which
made reference to the changed items.
The safest thing to do if you know that the component's interface is
going to change significantly, and you have capsules which use the component,
is to use a new package or class name for the new version of the component.
Then you can have both the old jar (possibly with a changed file name)
and the new jar loaded at the same time. The capsules will open using
the old version of the component. Then you can insert the new version
of the component and update all the references to it appropriately.
6. When trying to run a servlet I get the following error in the
errors tab in AppComposer and an also an error in my browser:
(Capsule) : Runtime error (temp.Auto_Class_1.print(java.io.PrintWriter))
executing: print in Action(Activate On: From:parent Receive:Behavior.activated)
actor.print(getWriter())parent: ActionGroup(Activate On: From:capsule
What does this mean and what am I doing wrong?
This is one of the most common errors you can make when you insert
a ServletGet action group under the Capsule instead of the JSP Template.
The ServletGet action group has two actions, one being the sendDocument
and the other being the setContent action.The sendDocument action tries
to interact with the parent, but since the parent is the capsule it
does not know what to do with the java.io.PrintWriter statement and
therefore gives an error. The servlet get action group needs to have
the JSP Template as a parent as indicated below.