Hi Jeff,
On Feb 15, 2006, at 1:55 AM, Jeffrey Schmitz wrote:
I tried adding WODirectConnectEnabled false as an added application
parameter on start (although I was never setting it to true in the
first place, and I thought false was the default),
It has defaulted to true for a few versions now.
and still the only way to connect to my application instances is by
specifying the port number. Also, although Monitor actually does
start my app and it is running, it reports the app as dying.
That is probably a symptom of the same problem.
I have tried giving my app a very long startup time (2 minutes)
with the same results. And looking at the Host config via monitor
shows that the instances that have been started using monitor are
being given a negative host ID.
Ditto.
also, I can start my app from the command line using the same
parameters Monitor says it uses and it starts fine, but even for
that app I can only connect by specifying the port number in the
URL.
I've pasted below my info copied from what Monitor is reporting as
the startup options and the Host config.
Any help would be GREATLY appreciated because I really can't think
of anything else to try other than trying to get it to run on
Tomcat.
Thanks,
Jeff
-WOPort 2002 -WOCachingEnabled YES -WODebuggingEnabled NO -
WOOutputPath /dev/null -WOAutoOpenInBrowser NO -
WOAutoOpenClientApplication NO -WOLifebeatInterval 30 -
WOLifebeatEnabled YES -WOLifebeatDestinationPort 1085 -WOAdaptor
WODefaultAdaptor -WOWorkerThreadCount 8 -WOListenQueueSize 128 -
WOWorkerThreadCountMin 16 -WOWorkerThreadCountMax 256 -
NSProjectSearchPath () -WOSessionTimeOut 3600 -WOApplicationName
MyApp -WOMonitorEnabled YES -WONoPause YES -Xms512m -Xmx1024m -
WOStatisticsPassword xxxxyyyy -WODirectConnectEnabled false
Try adding -WOHost localhost
<SiteConfig type="NSDictionary">
<hostArray type="NSArray">
<element type="NSDictionary">
<type type="NSString">MACOSX</type>
<name type="NSString">localhost</name>
I noticed that the host name here does not match the one used below.
That may be part of the problem.
Adaptor Config as sent to Local WOAdaptors - All Running
Applications and Instances
<?xml version="1.0" encoding="ASCII"?>
<adaptor>
<application name="JavaMonitor">
<instance id="-8086" port="8086" host="My-Quad.local"/>
</application>
<application name="MyApp">
<instance id="-2002" port="2002" host="My-Quad.local"/>
<instance id="-2001" port="2001" host="My-Quad.local"/>
</application>
</adaptor>
Notice that this is My-Quad.local and not localhost. Adding the
WOHost param above should fix that. I've had a lot of trouble
setting up localhost machines with WO. I suspect that this
Rendezvous address(?) may be part of the issue. Setting up a machine
with a real domain name is much, much smoother.
Adaptor Config as sent to remote WOAdaptors - All Registered and
Running Applications and Instances
<?xml version="1.0" encoding="ASCII"?>
<adaptor>
</adaptor>
That might not be too surprising as remote machines would not be able
to resolve localhost correctly.
Adaptor Config as written to disk - All Registered Applications and
Instances
<?xml version="1.0" encoding="ASCII"?>
<adaptor>
<application name="MyApp">
<instance id="1" port="2001" host="localhost"/>
<instance id="2" port="2002" host="localhost"/>
</application>
</adaptor>
Interesting. The host matches here and the instance numbers are
correct.
Properties of this wotaskd
The Configuration Directory is: /Library/WebObjects/Configuration/
Wotaskd is NOT writing WOConfig.xml to disk
The multicast address is: 239.128.14.2
This wotaskd is running on Port: 1085
Wotaskd is NOT responding to Multicast
WOAssumeApplicationIsDeadMultiplier is 4
The System Properties are: {java.vendor=Apple Computer, Inc.,
WOWorkerThreadCountMax=256, sun.management.compiler=HotSpot Client
Compiler,
...
Nothing there jumps out as being wrong.
Chuck
On Feb 14, 2006, at 12:59 PM, Chuck Hill wrote:
On Feb 13, 2006, at 9:28 PM, Jeffrey Schmitz wrote:
This is a very simple question that I can't seem to find the
answer to in the Deployment documentation. When I deploy an app
with multiple instances, what URL am I supposed to use such that
connections amont the instances are load-balanced? The only URL
I can figure out how to use are the direct connect ones to a
specific instances, but using one of those as my URL isn't going
to allow load balancing, right?
Correct. First, turn off Direct Connect in deployment unless you
have some (odd) reason for having it on. The URL should not have
any instance number in it:
http://www.domain.com/cgi-bin/WebObjects/MyApp.woa
The woadaptor will talk to wotaskd and choose an appropriate
instance based on how it is doing load balancing. I think you can
also use -1 to tell it to do this:
http://www.domain.com/cgi-bin/WebObjects/MyApp.woa/-1
Chuck
--
Coming in 2006 - an introduction to web applications using
WebObjects and Xcode http://www.global-village.net/wointro
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve
specific problems. http://www.global-village.net/products/
practical_webobjects
--
Coming in 2006 - an introduction to web applications using WebObjects
and Xcode http://www.global-village.net/wointro
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems. http://www.global-village.net/products/
practical_webobjects