You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Jeremy Boynes <jb...@apache.org> on 2006/12/26 17:09:01 UTC
Default composite, runtime and deployment
TuscanyRuntime currently assumes there is one default application for
every runtime, with the name and location being set through the
applicationName and applicationScdl properties. This composite is
automatically deployed during the bootstrap of the runtime. This
causes problems in environments which support more than one
composite, or which want to boot a runtime without any application
(e.g. the itest framework).
To fix this, I plan to separate the bootstrap of the runtime from the
deployment of the application composite. Rather than attempt to boot
the application automatically, the runtime will expose a deployment
API that the host can use to deploy as many applications as it wants.
With the ability to deploy multiple applications, the runtime can no
longer tell which is the "default" as only the host knows which
composite should be associated with threads running in unmanaged (non-
SCA) code. To address that, I'm going to provide a way for the host
to obtain a CompositeContext for any application composite that it
can bind to the thread thought the SCA api.
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
Re: Standalone server
Posted by Jeremy Boynes <jb...@apache.org>.
On Dec 27, 2006, at 4:56 PM, Meeraj Kunnumpurath wrote:
> Hi,
>
> I have updated standalone server to support multiple runtimes. Now,
> when the server is started, it doesn't start any runtime. However,
> the server has a management op called startRuntime(String bootPath)
> to start a runtime. Boot path for the runtime is resolved relative
> to the installation path. It is expected to have a file called
> runtime.properties in a directory named etc.
>
> The file contains the JMX domain name under which the runtime
> instance is registered. Once started the runtime instance is
> available for management. Only management ops currently available
> are initialize and destroy.
>
> This allows any number of runtimes to be started within a server
> environment.
>
Good stuff.
This got me thinking about registering Components with JMX so that
they too can be managed.
One thought was about generating an ObjectName for each component
that we know will be unique whilst sticking with some of the
recommendations for naming here:
http://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/
best-practices.jsp
I think allowing the user to determine the JMX domain name makes
sense - that allows them to know for sure which TuscanyRuntime they
are dealing with. If we go this way, we only need to set naming
conventions for the keys.
In SCA every component has a unique QName comprising of the URI of
its containing composite and the local name within. Therefore we can
create a unique name for the MBean of the form:
${userDomain} : type = SCAComponent, composite = "${compositeURI}" ,
name = ${componentName}
We also have Tuscany-specific system components and I'd suggest for
those we use type = TuscanySystem
Rather than use hierarchical type values, this uses the natural
hierarchy of the composite URI to express containment. Because the
URI is likely to contain a scheme the value needs to be quoted to
escape the ':'
The other thought was about how a component could expose a management
interface. One option would be to support <binding.jmx> for
attachment to a service; however, this would require a componentType
sidefile. Another would be to support an @Management annotation on a
service interface. With both of these the selected service would be
registered as a Dynamic MBean. A fallback option would also be to
recognize the component as a Standard MBean (i.e. it would have a
*MBean interface).
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
RE: Standalone server
Posted by Meeraj Kunnumpurath <m....@hotmail.co.uk>.
Hi,
I have updated standalone server to support multiple runtimes. Now, when the
server is started, it doesn't start any runtime. However, the server has a
management op called startRuntime(String bootPath) to start a runtime. Boot
path for the runtime is resolved relative to the installation path. It is
expected to have a file called runtime.properties in a directory named etc.
The file contains the JMX domain name under which the runtime instance is
registered. Once started the runtime instance is available for management.
Only management ops currently available are initialize and destroy.
This allows any number of runtimes to be started within a server
environment.
Ta
Meeraj
>From: "Meeraj Kunnumpurath" <m....@hotmail.co.uk>
>Reply-To: tuscany-dev@ws.apache.org
>To: tuscany-dev@ws.apache.org
>Subject: Standalone server
>Date: Wed, 27 Dec 2006 00:02:31 +0000
>
>Hi,
>
>I have added server.start and server.shutdown modules in standalone to run
>an instance of tuscany as a server. This is an extension of the existing
>launcher. Rather tha running the specified application on the cli and
>exiting, the server stays up running and listens on a JMX port for shutdown
>requests. It boots up the standalone runtime as the launcher, however,
>doesn't deploy any app scdls. I would assume the runtime will use something
>like a directory scanner to search a specified location for the
>applications to be deployed and deploy them using the deployment API.
>
>Both server.start and server.shutdown produces executable JAR files.
>Currently all configurable parameters are specified as system properties.
>These include,
>
>1. Install directory
>2. Boot directory
>3. System SCDL path
>
>All these use the existing system props and defaults as with the launcher.
>The default JMX remote connector port is 1099. This may be overridden using
>the system property tuscany.adminPort.
>
>Ta
>Meeraj
>
>_________________________________________________________________
>MSN Hotmail is evolving check out the new Windows Live Mail
>http://ideas.live.com
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
>For additional commands, e-mail: tuscany-dev-help@ws.apache.org
>
_________________________________________________________________
MSN Hotmail is evolving check out the new Windows Live Mail
http://ideas.live.com
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org
Standalone server
Posted by Meeraj Kunnumpurath <m....@hotmail.co.uk>.
Hi,
I have added server.start and server.shutdown modules in standalone to run
an instance of tuscany as a server. This is an extension of the existing
launcher. Rather tha running the specified application on the cli and
exiting, the server stays up running and listens on a JMX port for shutdown
requests. It boots up the standalone runtime as the launcher, however,
doesn't deploy any app scdls. I would assume the runtime will use something
like a directory scanner to search a specified location for the applications
to be deployed and deploy them using the deployment API.
Both server.start and server.shutdown produces executable JAR files.
Currently all configurable parameters are specified as system properties.
These include,
1. Install directory
2. Boot directory
3. System SCDL path
All these use the existing system props and defaults as with the launcher.
The default JMX remote connector port is 1099. This may be overridden using
the system property tuscany.adminPort.
Ta
Meeraj
_________________________________________________________________
MSN Hotmail is evolving check out the new Windows Live Mail
http://ideas.live.com
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org