geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevan Miller <kevan.mil...@gmail.com>
Subject Re: Reference question
Date Wed, 25 Jan 2006 15:49:31 GMT

On Jan 25, 2006, at 10:18 AM, Aaron Mulder wrote:

> Stein,
>
> What OS are you running on?  I think we've seen people have trouble
> with extra folders left over on Windows, but not (AFAIK) on other
> platforms.

That's right. Because of Windows file locking strategy and issues  
with URLClassLoader, we're often not able to cleanup config-store  
directories during undeploy. You should see a config-store/ 
index.delete file which is maintaining a list of directories pending  
deletion. These directories should eventually be cleaned up  
(otherwise, we probably have a Classloader-related memory leak). If  
you restart your server, you should always see these directories  
deleted.

--kevan

> Thanks,
>     Aaron
>
> On 1/25/06, Stein Kråbøl <steinkr@tellussoft.com> wrote:
>> Finally got my EJBs and my webapp working!!
>> Had to pack it in an ear to get classes for the EJB deploy in  
>> Geronimo.
>> One thing I notised with my webapp:
>> When I redeploy it was not properly deleted in config-store.
>> Got a lot of folders there like this
>> 40
>>   war
>>     WEB-INF
>>        lib
>>            helper.jar
>> (which is a jar i included in my webapps.)
>> Is this right?
>> My current webapp folder is 78!
>>
>> Anyway thanks for all help so far.
>>
>> Stein Kråbøl
>>
>>
>>
>>
>> Stein Kråbøl writes:
>>
>>> The error now:
>>>   Error: Unable to distribute my-webapp-1.0.war: Error processing
>>>   'remote' element for EJB Reference 'ejb/BCalcREJB' for module
>>>   'my-webapp-1.0': Remote interface class not found:
>>>   com.tellussoft.Test.BonusCalculator
>>> --------------------------------------------------
>>> web.xml:
>>> ?xml version="1.0" encoding="UTR-8"?>
>>> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
>>>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>>>        version="2.4">
>>> still with:
>>>   <ejb-ref>
>>>       <ejb-ref-name>ejb/BCalcREJB</ejb-ref-name>
>>>       <ejb-ref-type>Session</ejb-ref-type>
>>>       <home>com.tellussoft.Test.BonusCalculatorHome</home>
>>>       <remote>com.tellussoft.Test.BonusCalculator</remote>
>>>   </ejb-ref>
>>> --------------------------------------------------
>>> geronimo-web.xml:
>>> ?xml version="1.0" encoding="UTR-8"?>
>>> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0"
>>>        xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.0"
>>>        configId="M
>> yWebApp-1.0"
>>>        parentId="test-ejb-1.0.1">
>>> --------------------------------------------------
>>> openejb-jar.xml:
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <openejb-jar
>>> xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.0"
>>> xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.0"
>>> xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
>>> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.0"
>>> xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0"
>>> inverseClassloading="false"
>>> configId="test-ejb-1.0.1">
>>> --------------------------------------------------
>>> ejb-jar.xml:
>>> <?xml version="1.0" encoding="UTR-8"?>
>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
>>>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>   http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
>>>   version="2.1">
>>> --------------------------------------------------
>>> What about my other question: files in geronimo after deploing?
>>> Stein
>>>
>>> Aaron Mulder writes:
>>>
>>>> Your ejb-jar.xml should not have a configId or parentId -- those  
>>>> are
>>>> Geronimo tags.  So that's causing the error below, and removing  
>>>> that
>>>> stuff from ejb-jar.xml should fix it.
>>>>
>>>> Your openejb-jar.xml correctly has configId="test-ejb-1.0.1" --  
>>>> that's
>>>> good.
>>>>
>>>> However, your geronimo-web.xml has parentid="test-ebj-1.0.1" -- as
>>>> David pointed out this should be parentId not parentid, and also  
>>>> the
>>>> value should be test-ejb-1.0.1 (to match the configId in
>>>> openejb-jar.xml) and not test-ebj-1.0.1 (which does not match
>>>> anything!).
>>>>
>>>> Thanks,
>>>>    Aaron
>>>>
>>>> On 1/24/06, Stein Kråbøl <steinkr@tellussoft.com> wrote:
>>>>> I see what you mean, but this is now the errormessage:
>>>>>
>>>>>   Invalid deployment descriptor: [error: cvc-complex-type.3.2.1:
>>>>>   Attribute not allowed (no wildcards allowed): configId in  
>>>>> element
>>>>>   web-app@http://java.sun.com/xml/ns/j2ee, error:
>>>>>   cvc-complex-type.3.2.1: Attribute not allowed (no wildcards
>>>>>   allowed): parentId in element
>>>>>   web-app@http://java.sun.com/xml/ns/j2ee]
>>>>>  --------------------------------------------------
>>>>> Is ther someting with the deployment of the EJB when it's not  
>>>>> possible
>>>>> to se the classes in Geronimo filesystem?
>>>>>
>>>>> Stein
>>>>>
>>>>>
>>>>> David Jencks writes:
>>>>>
>>>>>> According to our deployer the actual plan you are deploying has a
>>>>> typo,
>>>>>> parentid (lower case i) instead of parentId (upper case I)
>>>>>>
>>>>>> hope this helps
>>>>>> david jencks
>>>>>>
>>>>>> On Jan 24, 2006, at 8:52 PM, Stein Kråbøl wrote:
>>>>>>
>>>>>>> Thank you for your response!
>>>>>>>
>>>>>>> The error now is:
>>>>>>> C:\web\geronimo-1.0\bin>deploy --user system --password manager
>>>>> deploy
>>>>>>> c:\project\my-webapp\target\my-webapp-1.0.war
>>>>>>>   Error: Unable to distribute my-webapp-1.0.war: Unable to  
>>>>>>> load first
>>>>>>>   parent of configuration MyWebApp-1.0
>>>>>>>       No configuration with id: test-ebj-1.0.1
>>>>>>> ------------------------------------------------------
>>>>>>> Header of web.xml:
>>>>>>> web-app xmlns="http://java.sun.com/xml/ns/j2ee"
>>>>>>>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>>>>        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>>>>>        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>>>>>>>        version="2.4">
>>>>>>> When I put configId and parentID here I got error when deployd:
>>>>>>>  Error: Unable to distribute my-webapp-1.0.war: xml problem
>>>>>>>      Invalid deployment descriptor: [error: cvc-complex-type.

>>>>>>> 3.2.1:
>>>>>>>  Attribute not allowed (no wildcards allowed): parentid]
>>>>>>>  Descriptor: <xml-fragment configId="MyWebApp-1.0"
>>>>>>>  parentid="test-ebj-1.0.1"
>>>>>>>  xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.0"
>>>>>>>  xmlns:jet="http://geronimo.apache.org/xml/ns/j2ee/web/ 
>>>>>>> jetty-1.0">
>>>>>>> It is here I have:
>>>>>>>   <ejb-ref>
>>>>>>>       <ejb-ref-name>ejb/BCalcREJB</ejb-ref-name>
>>>>>>>       <ejb-ref-type>Session</ejb-ref-type>
>>>>>>>       <home>com.tellussoft.Test.BonusCalculatorHome</home>
>>>>>>>       <remote>com.tellussoft.Test.BonusCalculator</remote>
>>>>>>>   </ejb-ref>
>>>>>>> --------------------------------------------------------
>>>>>>> Header of geronimo.xml:
>>>>>>> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.0"
>>>>>>>        xmlns:naming="http://geronimo.apache.org/xml/ns/ 
>>>>>>> naming-1.0"
>>>>>>>        configId="MyWebApp-1.0"
>>>>>>>        parentId="test-ebj-1.0.1">
>>>>>>> (so this cased the error abowe...)
>>>>>>> --------------------------------------------------------
>>>>>>> ejb-jar.xml:
>>>>>>> <?xml version="1.0" encoding="UTR-8"?>
>>>>>>> <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
>>>>>>>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>>>>   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
>>>>>>>   http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
>>>>>>>   version="2.1"
>>>>>>>   configId="test-ejb-1.0.1">
>>>>>>> --------------------------------------------------------
>>>>>>> openejb.xml:
>>>>>>> <openejb-jar
>>>>>>> xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.0"
>>>>>>> xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.0"
>>>>>>> xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
>>>>>>> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.0"
>>>>>>> xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0"
>>>>>>> inverseClassloading="false"
>>>>>>> configId="test-ejb-1.0.1">
>>>>>>> --------------------------------------------------------
>>>>>>> Stein
>>>>>>> Give me more options please! I'm in a hurry...
>>>>>>>
>>>>>>> Aaron Mulder writes:
>>>>>>>> In your geronimo-web.xml (the one with the EJB reference)
add a
>>>>>>>> parentId attribute to the web-app element right after the
  
>>>>>>>> configId.
>>>>> The
>>>>>>>> parentId of the WAR file should be set to be the  same as
the
>>>>>>>> configId of the EJB JAR file.  That will add the EJB JAR
 
>>>>>>>> classes to
>>>>>>>> the class path of the WAR so it should be able to access
the  
>>>>>>>> EJB
>>>>>>>> classes. Thanks,
>>>>>>>>     Aaron On 1/24/06, Stein Kråbøl <steinkr@tellussoft.com>
 
>>>>>>>> wrote:
>>>>>>>>> The thing is (as posted earlier) that when I put
>>>>>>>>>    <ejb-ref>
>>>>>>>>>        <ejb-ref-name>ejb/BCalcREJB</ejb-ref-name>
>>>>>>>>>        <ejb-ref-type>Session</ejb-ref-type>
>>>>>>>>>        <home>com.tellussoft.Test.BonusCalculatorHome</home>
>>>>>>>>>        <remote>com.tellussoft.Test.BonusCalculator</remote>
>>>>>>>>>    </ejb-ref>
>>>>>>>>> I get an error when deploying:
>>>>>>>>>    Error: Unable to distribute my-webapp-1.0.war: Error
 
>>>>>>>>> processing
>>>>>>>>>    'remote' element for EJB Reference 'ejb/BCalcREJB'
for  
>>>>>>>>> module
>>>>>>>>>    'MyWebApp-1.0': Remote interface class not found:
>>>>>>>>>    com.tellussoft.Test.BonusCalculator
>>>>>>>>>  ------------------------------------
>>>>>>>>> In my openejb-jar:
>>>>>>>>> <enterprise-beans>
>>>>>>>>>  <session>
>>>>>>>>>     <ejb-name>BCalcREJB</ejb-name>
>>>>>>>>>     <jndi-name>ejb/BCalcREJB</jndi-name>
>>>>>>>>> </session>
>>>>>>>>> </enterprise-beans>
>>>>>>>>> Now, I beleave the class files in the ejb.jar fil should
be  
>>>>>>>>> found
>>>>> in
>>>>>>>>> the file structure of Geronimo, but they are not there.
>>>>>>>>>  ------------------------------------
>>>>>>>>> In config-store/index.properties:
>>>>>>>>> ...
>>>>>>>>> geronimo/client-security/1.0/car=14
>>>>>>>>> test-ejb-1.0.1=59
>>>>>>>>> geronimo/geronimo-gbean-deployer/1.0/car=17
>>>>>>>>> ...
>>>>>>>>> and in
>>>>>>>>> configstore/59
>>>>>>>>>    ejb                    6kb
>>>>>>>>>    META-INF/config.ser    18kb
>>>>>>>>>  ------------------------------------
>>>>>>>>> Structure of test-ejb-1.0.1.jar:
>>>>>>>>> META-INF/openejb-jar.xml
>>>>>>>>> META-INF/ejb-jar.xml
>>>>>>>>> META-INF/MANIFEST.MF
>>>>>>>>> com/tellussoft/Test/LocalBonusCalculatorHome.class
>>>>>>>>> com/tellussoft/Test/LocalBonusCalculator.class
>>>>>>>>> com/tellussoft/Test/BonusCalculatorHome.class
>>>>>>>>> com/tellussoft/Test/LocalBonusCalculatorBean.class
>>>>>>>>> com/tellussoft/Test/BonusCalculator.class
>>>>>>>>>  -------------------------------------
>>>>>>>>> What am I doing wrong?
>>>>>>>>> I'm a little desperate case I have to get this to work
by  
>>>>>>>>> tomorrow.
>>>>>>>>> Stein
>>>>>>>>> Aaron Mulder writes:
>>>>>>>>>> You need an EJB Reference in your WAR (in Geronimo,
a web app
>>>>> can't
>>>>>>>>>> look up an EJB in JNDI unless there's an EJB Reference
in the
>>>>>>>>>> web.xml).  It's easiest if your EJB JAR and WAR are
 
>>>>>>>>>> deployed as
>>>>> part
>>>>>>>>>> of an EAR so you can use an <ejb-link> in the
EJB  
>>>>>>>>>> Reference in
>>>>>>>>> web.xml
>>>>>>>>>> and then you don't need any Geronimo-specific  
>>>>>>>>>> information.  If
>>>>> the
>>>>>>>>> EJB
>>>>>>>>>> JAR and WAR are deployed separately, you'll probably
need a
>>>>>>>>>> geronimo-web.xml that maps the EJB reference in web.xml
to  
>>>>>>>>>> the
>>>>>>>>> correct
>>>>>>>>>> EJB in the EJB JAR.  See, for example,
>>>>>>>>>>
>>>>>>>>>> http://chariotsolutions.com/geronimo/web-plan.html#id2591236
>>>>>>>>>> using the geronimo-web.xml syntax described at
>>>>>>>>>> http://chariotsolutions.com/geronimo/web-plan.html#web-

>>>>>>>>>> plan-refs
>>>>>>>>>>
>>>>>>>>>> Anyway, once your EJB reference is set up, if the
EJB  
>>>>>>>>>> reference
>>>>> name
>>>>>>>>>> is ejb/BCalcREJB then you'll look it up in JNDI at
>>>>>>>>>> java:comp/env/ejb/BCalcREJB (generally, it's java:comp/

>>>>>>>>>> env/ [name
>>>>> of
>>>>>>>>>> EJB reference])
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>     Aaron
>>>>>>>>>>
>>>>>>>>>> On 1/24/06, Stein Kråbøl <steinkr@tellussoft.com>
wrote:
>>>>>>>>>>> Help!
>>>>>>>>>>> I have deployed my first EJB modul without error.
>>>>>>>>>>>
>>>>>>>>>>> ejb-jar.xml:
>>>>>>>>>>>
>>>>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>>>>>> <!DOCTYPE ejb-jar PUBLIC
>>>>>>>>>>>                 '-//Sun Microsystems, Inc.//DTD
Enterprise
>>>>>>>>> JavaBeans 2.0//EN'
>>>>>>>>>>>                 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
>>>>>>>>>>> <ejb-jar>
>>>>>>>>>>>  <enterprise-beans>
>>>>>>>>>>>      <session>
>>>>>>>>>>>          <display-name>Stateless Session
Bean with Remote
>>>>>>>>>>> Interfaces</display-name>
>>>>>>>>>>>          <ejb-name>BCalcREJB</ejb-name>
>>>>>>>>>>>          <home>com.tellussoft.Test.BonusCalculatorHome</

>>>>>>>>>>> home>
>>>>>>>>>>>          <remote>com.tellussoft.Test.BonusCalculator</

>>>>>>>>>>> remote>
>>>>>>>>>>> <local-home>com.tellussoft.Test.LocalBonusCalculatorHome</
>>>>>>>>> local-home>
>>>>>>>>>>>          <local>com.tellussoft.Test.LocalBonusCalculator</

>>>>>>>>>>> local>
>>>>>>>>>>>          <ejb- 
>>>>>>>>>>> class>com.tellussoft.Test.BonusCalculatorBean</
>>>>>>>>> ejb-class>
>>>>>>>>>>>          <session-type>Stateless</session-type>
>>>>>>>>>>>          <transaction-type>Container</transaction-type>
>>>>>>>>>>>      </session>
>>>>>>>>>>>  </enterprise-beans>
>>>>>>>>>>> </ejb-jar>
>>>>>>>>>>>
>>>>>>>>>>> I'm trying to connect to it with a servlet in
an  
>>>>>>>>>>> standalone war.
>>>>>>>>>>> What is the correct syntax for the lookup method?
>>>>>>>>>>>                         Object homeObject = context.lookup
>>>>>>>>> ("java:comp/ejb/BCalcREJB");
>>>>>>>>>>> I have tried all the variants I can think of!
>>>>>>>>>>> BCalcREJB
>>>>>>>>>>> java:comp/env/ejb/BCalcREJB
>>>>>>>>>>> java:comp/env/BCalcREJB
>>>>>>>>>>> ejb/BCalcREJB
>>>>>>>>>>> Is there any other method to verify JNDI names
tied to a  
>>>>>>>>>>> EJBs?
>>>>>>>>>>>
>>>>>>>>>>> Stein
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>
>>
>>


Mime
View raw message