Sorry if these messages are munged, but I believe the
plans are correct (please still correct me if I'm
wrong).
I believe a new problem has emerged:
-----------------
Exception in thread "Thread-3"
java.lang.NoClassDefFoundError:
javax/servlet/http/HttpSession
at java.lang.ClassLoader.defineClass1(Native
Method)
at
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
----------------------
The problem may be caused by the fact that I had to
remove the following line from the geronimo-web.xml
for the war to begin to deploy:
<context-priority-classloader>false</context-priority-classloader>
Was this removed from the Geronimo 1.1 schema for
geronimo-web.xml? And if so, is there a replacement?
The geronimo-web.xml plan is attached again for your
convenience.
Thanks,
Tyler
--- Aaron Mulder <[EMAIL PROTECTED]>
wrote:
> You're right -- gbean-ref only works in 1.1. Your
> GBean needs to
> implement an interface, and the gbean-ref and lookup
> should go by the
> interface -- like this:
>
> public interface MyInterface {
> public void doSomething();
> }
>
> public class MyGBean implements MyInterface {
> public void doSomething() {...}
>
> ...
> infoFactory.addInterface(MyInterface.class);
> ...
> }
>
>
> <gbean-ref>
> <ref-name>AGBean</ref-name>
> <ref-type>MyInterface</ref-type>
>
> <pattern><name>MyGBeanInstanceName</name></pattern>
> </gbean-ref>
>
>
> MyInterface mine = (MyInterface)new
> InitialContext().lookup("java:comp/env/AGBean");
> mine.doSomething();
> ...
>
> Thanks,
> Aaron
>
> On 7/15/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> wrote:
> > I have 1.1 up and running, and am now getting an
> error
> > with the <gbean-ref>:
> >
> > Error: Unable to distribute example-1.0.war:
> Could
> > not
> > resolve reference at deploy time for queries
> > [?name=InstanceName#com.example.GBean]
> >
> > No matches for referencePatterns:
> > [?name=InstanceName#com.example.GBean]
> >
> > In my deployment plan for the GBean I have:
> > <gbean name="InstanceName"
> > class="com.example.GBean"/>
> >
> > Can anyone see where I've gone astray?
> >
> > Thanks!
> > Tyler
> >
> >
> >
> > --- [EMAIL PROTECTED] wrote:
> >
> > > Aaron,
> > >
> > > Found this note in your book:
> > >
> > > The schema includes a placeholder element
> > > (gbean-ref)
> > > for GBean references (that is, putting a
> reference
> > > to
> > > an arbitrary GBean in the component's
> java:comp/env
> > > JNDI space), but that is not yet working in
> Geronimo
> > > 1.0 so it is not covered here.
> > >
> > > I guess we need to upgrade to 1.0, huh? Please
> > > verify.
> > >
> > > Tyler
> > >
> > >
> > > --- Aaron Mulder <[EMAIL PROTECTED]>
> > > wrote:
> > >
> > > > The GBean should implement at least one
> interface,
> > > > say
> > > > com.example.Foo, which includes all the
> methods
> > > your
> > > > web app wants to
> > > > call on it.
> > > >
> > > > Then you add a block like this to the
> deployment
> > > > plan for the web app
> > > > (geronimo-web.xml):
> > > >
> > > > <gbean-ref>
> > > > <ref-name>MyGBean</ref-name>
> > > > <ref-type>com.example.Foo</ref-type>
> > > > <pattern>
> > > > <name>YourGbeanInstanceName</name>
> > > > </pattern>
> > > > </gbean-ref>
> > > >
> > > > That will stick the GBean named
> > > > YourGbeanInstanceName (e.g. plan has
> > > > <gbean name="YourGbeanInstanceName"
> class=...>) in
> > > > JNDI for the web
> > > > app at java:comp/env/MyGBean (java:comp/env/
> plus
> > > > the <ref-name>
> > > > above). When you access that JNDI location,
> > > you'll
> > > > get something that
> > > > implements com.example.Foo (the <ref-type>
> above),
> > > > so you can use it
> > > > like this:
> > > >
> > > > Foo foo = (Foo)new
> > > >
> InitialContext().lookup("java:comp/env/MyGBean");
> > > >
> > > > Make sure that the GBeanInfo for your GBean
> has a
> > > > line like
> > > >
> infoFactory.addInterface(com.example.Foo.class);
> > > for
> > > > this to work.
> > > >
> > > > Thanks,
> > > > Aaron
> > > >
> > > > On 7/14/06, [EMAIL PROTECTED]
> <[EMAIL PROTECTED]>
> > > > wrote:
> > > > > I have successfully deployed a GBean using a
> > > > > deployment plan. I have added a new jar to
> the
> > > > > repository, and I reference the class in the
> > > > > deployment plan.
> > > > >
> > > > > Now, my question is: How do I access the
> > > deployed
> > > > > class via the GBean from my web
> > > > service/application?
> > > > >
> > > > > Thanks.
> > > > > Tyler
> > > > >
> > > > >
> > > > >
> > >
> __________________________________________________
> > > > > Do You Yahoo!?
> > > > > Tired of spam? Yahoo! Mail has the best
> spam
> > > > protection around
> > > > > http://mail.yahoo.com
> > > > >
> > > >
> > >
> > >
> > >
> __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam? Yahoo! Mail has the best spam
> > > protection around
> > > http://mail.yahoo.com
> > >
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam
> protection around
> > http://mail.yahoo.com
> >
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com <?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming">
<environment>
<moduleId>
<groupId>ClusterManager</groupId>
<artifactId>ClusterManager</artifactId>
<version>1.0</version>
<type>war</type>
</moduleId>
</environment>
<context-root>/ClusterManager</context-root>
<!-- <context-priority-classloader>false</context-priority-classloader>-->
<cluster>TomcatCluster</cluster>
<gbean-ref>
<ref-name>MyCDMGBean</ref-name>
<ref-type>org.cait.ClusterMonitor.ClusterMonitorGBeanInterface</ref-type>
<pattern>
<name>CustomDeltaManageGBean</name>
</pattern>
</gbean-ref>
<!-- Apache Geronimo 1.0 ClusterManager deployment plan -->
<!-- Cluster -->
<gbean name="TomcatCluster" class="org.apache.geronimo.tomcat.cluster.CatalinaClusterGBean">
<attribute name="className">
org.apache.catalina.cluster.tcp.SimpleTcpCluster
</attribute>
<attribute name="initParams">
managerClassName=org.apache.catalina.cluster.session.DeltaManager
expireSessionsOnShutdown=false
useDirtyFlag=false
notifyListenersOnReplication=true
</attribute>
<reference name="Membership">
<!-- <moduleType>J2EEModule</moduleType>-->
<name>TomcatMembership</name>
</reference>
<reference name="Receiver">
<!-- <moduleType>J2EEModule</moduleType>-->
<name>TomcatReceiver</name>
</reference>
<reference name="Sender">
<!-- <moduleType>J2EEModule</moduleType>-->
<name>TomcatSender</name>
</reference>
<reference name="TomcatValveChain">
<!-- <moduleType>J2EEModule</moduleType>-->
<name>ReplicationValve</name>
</reference>
</gbean>
<!-- Membership -->
<gbean name="TomcatMembership" class="org.apache.geronimo.tomcat.cluster.MembershipServiceGBean">
<attribute name="className">
org.apache.catalina.cluster.mcast.McastService
</attribute>
<attribute name="initParams">
mcastAddr=228.0.0.4
mcastBindAddress=209.174.123.183
mcastPort=45564
mcastFrequency=500
mcastDropTime=3000
</attribute>
</gbean>
<!-- Receiver -->
<gbean name="TomcatReceiver"
class="org.apache.geronimo.tomcat.cluster.ReceiverGBean">
<attribute name="className">
org.apache.catalina.cluster.tcp.ReplicationListener
</attribute>
<attribute name="initParams">
tcpListenAddress=209.174.123.183
tcpListenPort=4001
tcpSelectorTimeout=100
tcpThreadCount=6
</attribute>
</gbean>
<!-- Sender -->
<gbean name="TomcatSender"
class="org.apache.geronimo.tomcat.cluster.SenderGBean">
<attribute name="className">
org.apache.catalina.cluster.tcp.ReplicationTransmitter
</attribute>
<attribute name="initParams">
replicationMode=pooled
ackTimeout=15000
</attribute>
</gbean>
<!-- Valves -->
<gbean name="ReplicationValve"
class="org.apache.geronimo.tomcat.ValveGBean">
<attribute name="className">
org.apache.catalina.cluster.tcp.ReplicationValve
</attribute>
<attribute name="initParams">
filter=.*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;
</attribute>
</gbean>
</web-app>