You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@karaf.apache.org by Charles Moulliard <cm...@gmail.com> on 2011/11/25 18:38:14 UTC

Very strange issue

Hi,

I have a very strange problem in this part of the code of openejb
using apache geronimo xbean

My bundle imports/exports well the following package :

karaf@root> packages:exports | grep org.apache.openejb.resource.jdbc
   128 org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT

karaf@root> packages:imports | grep org.apache.openejb.resource.jdbc
Apache OpenEJB :: Container :: Core (128):
org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
Apache OpenEJB :: Container :: Core (128):
org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT

but when Apache Xbean through org.apache.xbean.recipe.RecipeHelper
method is called

    public Class getType() {
        if (typeClass != null || typeName != null) {
            Class type = typeClass;
            if (type == null) {
                try {
                    type = RecipeHelper.loadClass(typeName);
                } catch (ClassNotFoundException e) {
                    throw new ConstructionException("Type class could
not be found: " + typeName);
                }
            }

            return type;
        }

        return null;
    }

-->

    public static Class loadClass(String name) throws ClassNotFoundException {
        ClassLoader classLoader =
ExecutionContext.getContext().getClassLoader();
        Class<?> type = Class.forName(name, true, classLoader);
        return type;
    }

It generates the following error

Caused by: org.apache.xbean.recipe.ConstructionException: Type class
could not be found: org.apache.openejb.resource.jdbc.DataSourceFactory
	at org.apache.xbean.recipe.ObjectRecipe.getType(ObjectRecipe.java:355)
	at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:266)
	at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
	at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
	at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
	at org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1418)
	at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:395)
	at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)

See screenshot for the classloader used (felix)
http://cl.ly/1W2N083K3f0U022A151v

Any hep is welcome ?

Regards,

Charles Moulliard

Apache Committer

Blog : http://cmoulliard.blogspot.com
Twitter : http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard
Skype: cmoulliard

Re: Very strange issue

Posted by Charles Moulliard <cm...@gmail.com>.
It it defined in the Import-Package instruction of the plugin
maven-bundle-plugin (2.3.5) but bnd tool does not add it

Defined

        <openejb.osgi.import.pkg>
            javax.annotation;version="[1.1,2.0)",
            javax.jms,
            javax.naming,
            javax.transaction;version="[1.1,1.2)",
            javax.transaction.xa;version="[1.1,1.2)",
            org.apache.activemq.ra;version=5.4,
            org.apache.commons.logging,
            org.apache.openejb;version="[3.1,4.2)",
            org.apache.openejb.assembler.classic;version="[3.1,4.2)",
            org.apache.openejb.config;version="[3.1,4.2)",
            org.apache.openejb.core.security;version="[3.1,4.2)",
            org.apache.openejb.loader;version="[3.1,4.2)",
            org.apache.openejb.resource;version="[3.1,4.2)",
            org.apache.openejb.resource.jdbc;version="[3.1,4.2)",
            org.apache.xbean.recipe;version="[3.8,4.0)",
            org.osgi.framework;version="[1.4,1.6)",
            org.slf4j;version=1.6
        </openejb.osgi.import.pkg>

Deployed

Import-Package =
	javax.jms,
	javax.naming,
	javax.transaction;version="[1.1,1.2)",
	javax.transaction.xa;version="[1.1,1.2)",
	org.apache.activemq.ra;version=5.4,
	org.apache.commons.logging,
	org.apache.openejb;version="[3.1,4.2)",
	org.apache.openejb.assembler.classic;version="[3.1,4.2)",
	org.apache.openejb.config;version="[3.1,4.2)",
	org.apache.openejb.core.security;version="[3.1,4.2)",
	org.apache.openejb.loader;version="[3.1,4.2)",
	org.apache.openejb.resource;version="[3.1,4.2)",
	org.osgi.framework;version="[1.4,1.6)",
	org.slf4j;version=1.6

On Fri, Nov 25, 2011 at 7:39 PM, Guillaume Nodet <gn...@gmail.com> wrote:
> The classloader in use is of bundle 148 not 128.  Does the bundle 148
> actually import the needed package ?
>
> On Fri, Nov 25, 2011 at 18:38, Charles Moulliard <cm...@gmail.com> wrote:
>> Hi,
>>
>> I have a very strange problem in this part of the code of openejb
>> using apache geronimo xbean
>>
>> My bundle imports/exports well the following package :
>>
>> karaf@root> packages:exports | grep org.apache.openejb.resource.jdbc
>>   128 org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>>
>> karaf@root> packages:imports | grep org.apache.openejb.resource.jdbc
>> Apache OpenEJB :: Container :: Core (128):
>> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>> Apache OpenEJB :: Container :: Core (128):
>> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>>
>> but when Apache Xbean through org.apache.xbean.recipe.RecipeHelper
>> method is called
>>
>>    public Class getType() {
>>        if (typeClass != null || typeName != null) {
>>            Class type = typeClass;
>>            if (type == null) {
>>                try {
>>                    type = RecipeHelper.loadClass(typeName);
>>                } catch (ClassNotFoundException e) {
>>                    throw new ConstructionException("Type class could
>> not be found: " + typeName);
>>                }
>>            }
>>
>>            return type;
>>        }
>>
>>        return null;
>>    }
>>
>> -->
>>
>>    public static Class loadClass(String name) throws ClassNotFoundException {
>>        ClassLoader classLoader =
>> ExecutionContext.getContext().getClassLoader();
>>        Class<?> type = Class.forName(name, true, classLoader);
>>        return type;
>>    }
>>
>> It generates the following error
>>
>> Caused by: org.apache.xbean.recipe.ConstructionException: Type class
>> could not be found: org.apache.openejb.resource.jdbc.DataSourceFactory
>>        at org.apache.xbean.recipe.ObjectRecipe.getType(ObjectRecipe.java:355)
>>        at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:266)
>>        at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>>        at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>>        at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
>>        at org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1418)
>>        at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:395)
>>        at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)
>>
>> See screenshot for the classloader used (felix)
>> http://cl.ly/1W2N083K3f0U022A151v
>>
>> Any hep is welcome ?
>>
>> Regards,
>>
>> Charles Moulliard
>>
>> Apache Committer
>>
>> Blog : http://cmoulliard.blogspot.com
>> Twitter : http://twitter.com/cmoulliard
>> Linkedin : http://www.linkedin.com/in/charlesmoulliard
>> Skype: cmoulliard
>>
>
>
>
> --
> ------------------------
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://fusesource.com
>

Re: Very strange issue

Posted by Guillaume Nodet <gn...@gmail.com>.
The classloader in use is of bundle 148 not 128.  Does the bundle 148
actually import the needed package ?

On Fri, Nov 25, 2011 at 18:38, Charles Moulliard <cm...@gmail.com> wrote:
> Hi,
>
> I have a very strange problem in this part of the code of openejb
> using apache geronimo xbean
>
> My bundle imports/exports well the following package :
>
> karaf@root> packages:exports | grep org.apache.openejb.resource.jdbc
>   128 org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>
> karaf@root> packages:imports | grep org.apache.openejb.resource.jdbc
> Apache OpenEJB :: Container :: Core (128):
> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
> Apache OpenEJB :: Container :: Core (128):
> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>
> but when Apache Xbean through org.apache.xbean.recipe.RecipeHelper
> method is called
>
>    public Class getType() {
>        if (typeClass != null || typeName != null) {
>            Class type = typeClass;
>            if (type == null) {
>                try {
>                    type = RecipeHelper.loadClass(typeName);
>                } catch (ClassNotFoundException e) {
>                    throw new ConstructionException("Type class could
> not be found: " + typeName);
>                }
>            }
>
>            return type;
>        }
>
>        return null;
>    }
>
> -->
>
>    public static Class loadClass(String name) throws ClassNotFoundException {
>        ClassLoader classLoader =
> ExecutionContext.getContext().getClassLoader();
>        Class<?> type = Class.forName(name, true, classLoader);
>        return type;
>    }
>
> It generates the following error
>
> Caused by: org.apache.xbean.recipe.ConstructionException: Type class
> could not be found: org.apache.openejb.resource.jdbc.DataSourceFactory
>        at org.apache.xbean.recipe.ObjectRecipe.getType(ObjectRecipe.java:355)
>        at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:266)
>        at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>        at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>        at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
>        at org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1418)
>        at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:395)
>        at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)
>
> See screenshot for the classloader used (felix)
> http://cl.ly/1W2N083K3f0U022A151v
>
> Any hep is welcome ?
>
> Regards,
>
> Charles Moulliard
>
> Apache Committer
>
> Blog : http://cmoulliard.blogspot.com
> Twitter : http://twitter.com/cmoulliard
> Linkedin : http://www.linkedin.com/in/charlesmoulliard
> Skype: cmoulliard
>



-- 
------------------------
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Re: Very strange issue

Posted by Romain Manni-Bucau <rm...@gmail.com>.
ok,

i thought it was for transaction packages

- Romain


2011/11/28 Charles Moulliard <cm...@gmail.com>

> Spring is not required. I deploy it as it is used by my Camel example.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Fwd-Very-strange-issue-tp4108198p4115084.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>

Re: Very strange issue

Posted by Charles Moulliard <cm...@gmail.com>.
Spring is not required. I deploy it as it is used by my Camel example.

--
View this message in context: http://openejb.979440.n4.nabble.com/Fwd-Very-strange-issue-tp4108198p4115084.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Re: Very strange issue

Posted by Romain Manni-Bucau <rm...@gmail.com>.
cool.

compared to your jira is it possible to not use spring?

i think we only need geronimo and servicemix bundles.

Here my jre config (for a jre 6), i commented  javax.annotation to use the
last version:

jre-1.6= \
 sun.misc, \
 javax.accessibility, \
 javax.activation, \
 javax.activity, \
# javax.annotation;version="1.1", \
 javax.annotation.processing;version="1.1", \
 javax.crypto, \
 javax.crypto.interfaces, \
 javax.crypto.spec, \
 javax.imageio, \
 javax.imageio.event, \
 javax.imageio.metadata, \
 javax.imageio.plugins.bmp, \
 javax.imageio.plugins.jpeg, \
 javax.imageio.spi, \
 javax.imageio.stream, \
 javax.jws, \
 javax.jws.soap, \
 javax.lang.model, \
 javax.lang.model.element, \
 javax.lang.model.type, \
 javax.lang.model.util, \
 javax.management, \
 javax.management.loading, \
 javax.management.modelmbean, \
 javax.management.monitor, \
 javax.management.openmbean, \
 javax.management.relation, \
 javax.management.remote, \
 javax.management.remote.rmi, \
 javax.management.timer, \
 javax.naming, \
 javax.naming.directory, \
 javax.naming.event, \
 javax.naming.ldap, \
 javax.naming.spi, \
 javax.net, \
 javax.net.ssl, \
 javax.print, \
 javax.print.attribute, \
 javax.print.attribute.standard, \
 javax.print.event, \
 javax.rmi, \
 javax.rmi.CORBA, \
 javax.rmi.ssl, \
 javax.script, \
 javax.security.auth, \
 javax.security.auth.callback, \
 javax.security.auth.kerberos, \
 javax.security.auth.login, \
 javax.security.auth.spi, \
 javax.security.auth.x500, \
 javax.security.cert, \
 javax.security.sasl, \
 javax.sound.midi, \
 javax.sound.midi.spi, \
 javax.sound.sampled, \
 javax.sound.sampled.spi, \
 javax.sql, \
 javax.sql.rowset, \
 javax.sql.rowset.serial, \
 javax.sql.rowset.spi, \
 javax.swing, \
 javax.swing.border, \
 javax.swing.colorchooser, \
 javax.swing.event, \
 javax.swing.filechooser, \
 javax.swing.plaf, \
 javax.swing.plaf.basic, \
 javax.swing.plaf.metal, \
 javax.swing.plaf.multi, \
 javax.swing.plaf.synth, \
 javax.swing.table, \
 javax.swing.text, \
 javax.swing.text.html, \
 javax.swing.text.html.parser, \
 javax.swing.text.rtf, \
 javax.swing.tree, \
 javax.swing.undo, \
 javax.tools, \
 javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial,
\
 javax.xml, \
# javax.xml.bind, \
# javax.xml.bind.annotation, \
# javax.xml.bind.annotation.adapters, \
# javax.xml.bind.attachment, \
# javax.xml.bind.helpers, \
# javax.xml.bind.util, \
 javax.xml.crypto, \
 javax.xml.crypto.dom, \
 javax.xml.crypto.dsig, \
 javax.xml.crypto.dsig.dom, \
 javax.xml.crypto.dsig.keyinfo, \
 javax.xml.crypto.dsig.spec, \
 javax.xml.datatype, \
 javax.xml.namespace, \
 javax.xml.parsers, \
 javax.xml.soap, \
 javax.xml.stream, \
 javax.xml.stream.events, \
 javax.xml.stream.util, \
 javax.xml.transform, \
 javax.xml.transform.dom, \
 javax.xml.transform.sax, \
 javax.xml.transform.stax, \
 javax.xml.transform.stream, \
 javax.xml.validation, \
 javax.xml.ws, \
 javax.xml.ws.handler, \
 javax.xml.ws.handler.soap, \
 javax.xml.ws.http, \
 javax.xml.ws.soap, \
 javax.xml.ws.spi, \
 javax.xml.ws.wsaddressing, \
 javax.xml.xpath, \
 org.ietf.jgss, \
 org.omg.CORBA, \
 org.omg.CORBA_2_3, \
 org.omg.CORBA_2_3.portable, \
 org.omg.CORBA.DynAnyPackage, \
 org.omg.CORBA.ORBPackage, \
 org.omg.CORBA.portable, \
 org.omg.CORBA.TypeCodePackage, \
 org.omg.CosNaming, \
 org.omg.CosNaming.NamingContextExtPackage, \
 org.omg.CosNaming.NamingContextPackage, \
 org.omg.Dynamic, \
 org.omg.DynamicAny, \
 org.omg.DynamicAny.DynAnyFactoryPackage, \
 org.omg.DynamicAny.DynAnyPackage, \
 org.omg.IOP, \
 org.omg.IOP.CodecFactoryPackage, \
 org.omg.IOP.CodecPackage, \
 org.omg.Messaging, \
 org.omg.PortableInterceptor, \
 org.omg.PortableInterceptor.ORBInitInfoPackage, \
 org.omg.PortableServer, \
 org.omg.PortableServer.CurrentPackage, \
 org.omg.PortableServer.POAManagerPackage, \
 org.omg.PortableServer.POAPackage, \
 org.omg.PortableServer.portable, \
 org.omg.PortableServer.ServantLocatorPackage, \
 org.omg.SendingContext, \
 org.omg.stub.java.rmi, \
 org.omg.stub.javax.management.remote.rmi, \
 org.w3c.dom, \
 org.w3c.dom.bootstrap, \
 org.w3c.dom.css, \
 org.w3c.dom.events, \
 org.w3c.dom.html, \
 org.w3c.dom.ls, \
 org.w3c.dom.ranges, \
 org.w3c.dom.stylesheets, \
 org.w3c.dom.traversal, \
 org.w3c.dom.views, \
 org.w3c.dom.xpath, \
 org.xml.sax, \
 org.xml.sax.ext, \
 org.xml.sax.helpers

- Romain


2011/11/28 Charles Moulliard <cm...@gmail.com>

> This is not complicated. I will update my code and retest it with last
> commit
> (and prepare a new patch too) and provide you the list of the
> features/bundles to be deployed on Apache Karaf 2.2.4
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Fwd-Very-strange-issue-tp4108198p4114853.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>

Re: Very strange issue

Posted by Charles Moulliard <cm...@gmail.com>.
This is not complicated. I will update my code and retest it with last commit
(and prepare a new patch too) and provide you the list of the
features/bundles to be deployed on Apache Karaf 2.2.4

--
View this message in context: http://openejb.979440.n4.nabble.com/Fwd-Very-strange-issue-tp4108198p4114853.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Re: Very strange issue

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Charles,

Is it complicated for you to share a complete installation to let us test
quickly?

- Romain

Le 26 nov. 2011 13:52, "Charles Moulliard" <cm...@gmail.com> a écrit :

> Hi Romain,
>
> Problem is solved. That was an import package issue related to a package
> non
> added by bnd tool during the creation of the MANIFEST.MF file. I have added
> missing import packages like commons-dbcp, ... too and now I do not have
> anymore an error coming from the BundleActivator class of
> openejb-core-osgi.
>
> Nevertheless, I have a new error (that we already discuss it some months
> ago
> --> http://osdir.com/ml/dev.openejb.apache.org/2011-07/msg00024.html)
>
> raf-2.2.4/apps/camel-ejb-1.0.jar
> 2011-11-26 10:37:15,806 | ERROR | FelixStartLevel  | root
> | pache.openejb.util.JuliLogStream   94 |  -  -  | Application could not be
> deployed:
>
> /Users/charlesmoulliard/MyApplications/apache-karaf-2.2.4/apps/camel-ejb-1.0.jar
> javax.validation.ValidationException: Could not create Configuration.
>        at
>
> javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:175)
>        at
>
> org.apache.openejb.assembler.classic.ValidatorBuilder.getConfig(ValidatorBuilder.java:117)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:74)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:46)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:577)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:496)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:406)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:130)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:63)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.OpenEJB.init(OpenEJB.java:276)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.OpenEJB.init(OpenEJB.java:255)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)[:1.6.0_29]
>        at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_29]
>        at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_29]
>        at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_29]
>        at
>
> org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36)[129:org.apache.openejb.loader:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.openejb.core.osgi.impl.Activator.start(Activator.java:57)[148:org.apache.openejb.core-osgi:4.0.0.beta-2-SNAPSHOT]
>        at
>
> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:629)[org.apache.felix.framework-3.0.9.jar:]
>        at
>
> org.apache.felix.framework.Felix.activateBundle(Felix.java:1842)[org.apache.felix.framework-3.0.9.jar:]
>        at
>
> org.apache.felix.framework.Felix.startBundle(Felix.java:1759)[org.apache.felix.framework-3.0.9.jar:]
>        at
>
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1163)[org.apache.felix.framework-3.0.9.jar:]
>        at
>
> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)[org.apache.felix.framework-3.0.9.jar:]
>        at java.lang.Thread.run(Thread.java:680)[:1.6.0_29]
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>        at java.util.ArrayList.RangeCheck(ArrayList.java:547)[:1.6.0_29]
>        at java.util.ArrayList.get(ArrayList.java:322)[:1.6.0_29]
>        at
>
> javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:173)
>        ... 23 more
>
> and the following question came to me :
>
> Can we use OpenEJB like that on Karaf ? I mean that here I have created a
> conf/openejb.xml directory and file + apps under karaf and deployed a ejb
> jar in the directory of apps.
>
> Regards,
>
> Charles
> Romain Manni-Bucau wrote
> >
> > Hi,
> >
> > did you deployed commons-dbcp and xbean?
> >
> > - Romain
> >
> >
> > 2011/11/25 Charles Moulliard &lt;cmoulliard@&gt;
> >
> >> If somebody has an idea ;-)
> >>
> >> ---------- Forwarded message ----------
> >> From: Charles Moulliard &lt;cmoulliard@&gt;
> >> Date: Fri, Nov 25, 2011 at 6:38 PM
> >> Subject: Very strange issue
> >> To: dev &lt;dev@.apache&gt;
> >>
> >>
> >> Hi,
> >>
> >> I have a very strange problem in this part of the code of openejb
> >> using apache geronimo xbean
> >>
> >> My bundle imports/exports well the following package :
> >>
> >> karaf@root> packages:exports | grep org.apache.openejb.resource.jdbc
> >>   128 org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
> >>
> >> karaf@root> packages:imports | grep org.apache.openejb.resource.jdbc
> >> Apache OpenEJB :: Container :: Core (128):
> >> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
> >> Apache OpenEJB :: Container :: Core (128):
> >> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
> >>
> >> but when Apache Xbean through org.apache.xbean.recipe.RecipeHelper
> >> method is called
> >>
> >>    public Class getType() {
> >>        if (typeClass != null || typeName != null) {
> >>            Class type = typeClass;
> >>            if (type == null) {
> >>                try {
> >>                    type = RecipeHelper.loadClass(typeName);
> >>                } catch (ClassNotFoundException e) {
> >>                    throw new ConstructionException("Type class could
> >> not be found: " + typeName);
> >>                }
> >>            }
> >>
> >>            return type;
> >>        }
> >>
> >>        return null;
> >>    }
> >>
> >> -->
> >>
> >>    public static Class loadClass(String name) throws
> >> ClassNotFoundException {
> >>        ClassLoader classLoader =
> >> ExecutionContext.getContext().getClassLoader();
> >>        Class<?> type = Class.forName(name, true, classLoader);
> >>        return type;
> >>    }
> >>
> >> It generates the following error
> >>
> >> Caused by: org.apache.xbean.recipe.ConstructionException: Type class
> >> could not be found: org.apache.openejb.resource.jdbc.DataSourceFactory
> >>        at
> >> org.apache.xbean.recipe.ObjectRecipe.getType(ObjectRecipe.java:355)
> >>        at
> >>
> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:266)
> >>        at
> >> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
> >>        at
> >> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
> >>        at
> >> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
> >>        at
> >>
> org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1418)
> >>        at
> >>
> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:395)
> >>        at
> >> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)
> >>
> >> See screenshot for the classloader used (felix)
> >> http://cl.ly/1W2N083K3f0U022A151v
> >>
> >> Any hep is welcome ?
> >>
> >> Regards,
> >>
> >> Charles Moulliard
> >>
> >> Apache Committer
> >>
> >> Blog : http://cmoulliard.blogspot.com
> >> Twitter : http://twitter.com/cmoulliard
> >> Linkedin : http://www.linkedin.com/in/charlesmoulliard
> >> Skype: cmoulliard
> >>
> >
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Fwd-Very-strange-issue-tp4108198p4110285.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>

Re: Very strange issue

Posted by Charles Moulliard <cm...@gmail.com>.
Hi Romain,

Problem is solved. That was an import package issue related to a package non
added by bnd tool during the creation of the MANIFEST.MF file. I have added
missing import packages like commons-dbcp, ... too and now I do not have
anymore an error coming from the BundleActivator class of openejb-core-osgi.

Nevertheless, I have a new error (that we already discuss it some months ago
--> http://osdir.com/ml/dev.openejb.apache.org/2011-07/msg00024.html) 

raf-2.2.4/apps/camel-ejb-1.0.jar
2011-11-26 10:37:15,806 | ERROR | FelixStartLevel  | root                            
| pache.openejb.util.JuliLogStream   94 |  -  -  | Application could not be
deployed: 
/Users/charlesmoulliard/MyApplications/apache-karaf-2.2.4/apps/camel-ejb-1.0.jar
javax.validation.ValidationException: Could not create Configuration.
	at
javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:175)
	at
org.apache.openejb.assembler.classic.ValidatorBuilder.getConfig(ValidatorBuilder.java:117)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:74)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.assembler.classic.ValidatorBuilder.buildFactory(ValidatorBuilder.java:46)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:577)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:496)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:406)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:130)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:63)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.OpenEJB.init(OpenEJB.java:276)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.OpenEJB.init(OpenEJB.java:255)[128:org.apache.openejb.core:4.0.0.beta-2-SNAPSHOT]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_29]
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_29]
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_29]
	at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_29]
	at
org.apache.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:36)[129:org.apache.openejb.loader:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.openejb.core.osgi.impl.Activator.start(Activator.java:57)[148:org.apache.openejb.core-osgi:4.0.0.beta-2-SNAPSHOT]
	at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:629)[org.apache.felix.framework-3.0.9.jar:]
	at
org.apache.felix.framework.Felix.activateBundle(Felix.java:1842)[org.apache.felix.framework-3.0.9.jar:]
	at
org.apache.felix.framework.Felix.startBundle(Felix.java:1759)[org.apache.felix.framework-3.0.9.jar:]
	at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1163)[org.apache.felix.framework-3.0.9.jar:]
	at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)[org.apache.felix.framework-3.0.9.jar:]
	at java.lang.Thread.run(Thread.java:680)[:1.6.0_29]
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)[:1.6.0_29]
	at java.util.ArrayList.get(ArrayList.java:322)[:1.6.0_29]
	at
javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:173)
	... 23 more

and the following question came to me :

Can we use OpenEJB like that on Karaf ? I mean that here I have created a
conf/openejb.xml directory and file + apps under karaf and deployed a ejb
jar in the directory of apps.

Regards,

Charles
Romain Manni-Bucau wrote
> 
> Hi,
> 
> did you deployed commons-dbcp and xbean?
> 
> - Romain
> 
> 
> 2011/11/25 Charles Moulliard &lt;cmoulliard@&gt;
> 
>> If somebody has an idea ;-)
>>
>> ---------- Forwarded message ----------
>> From: Charles Moulliard &lt;cmoulliard@&gt;
>> Date: Fri, Nov 25, 2011 at 6:38 PM
>> Subject: Very strange issue
>> To: dev &lt;dev@.apache&gt;
>>
>>
>> Hi,
>>
>> I have a very strange problem in this part of the code of openejb
>> using apache geronimo xbean
>>
>> My bundle imports/exports well the following package :
>>
>> karaf@root> packages:exports | grep org.apache.openejb.resource.jdbc
>>   128 org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>>
>> karaf@root> packages:imports | grep org.apache.openejb.resource.jdbc
>> Apache OpenEJB :: Container :: Core (128):
>> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>> Apache OpenEJB :: Container :: Core (128):
>> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>>
>> but when Apache Xbean through org.apache.xbean.recipe.RecipeHelper
>> method is called
>>
>>    public Class getType() {
>>        if (typeClass != null || typeName != null) {
>>            Class type = typeClass;
>>            if (type == null) {
>>                try {
>>                    type = RecipeHelper.loadClass(typeName);
>>                } catch (ClassNotFoundException e) {
>>                    throw new ConstructionException("Type class could
>> not be found: " + typeName);
>>                }
>>            }
>>
>>            return type;
>>        }
>>
>>        return null;
>>    }
>>
>> -->
>>
>>    public static Class loadClass(String name) throws
>> ClassNotFoundException {
>>        ClassLoader classLoader =
>> ExecutionContext.getContext().getClassLoader();
>>        Class<?> type = Class.forName(name, true, classLoader);
>>        return type;
>>    }
>>
>> It generates the following error
>>
>> Caused by: org.apache.xbean.recipe.ConstructionException: Type class
>> could not be found: org.apache.openejb.resource.jdbc.DataSourceFactory
>>        at
>> org.apache.xbean.recipe.ObjectRecipe.getType(ObjectRecipe.java:355)
>>        at
>> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:266)
>>        at
>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>>        at
>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>>        at
>> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
>>        at
>> org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1418)
>>        at
>> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:395)
>>        at
>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)
>>
>> See screenshot for the classloader used (felix)
>> http://cl.ly/1W2N083K3f0U022A151v
>>
>> Any hep is welcome ?
>>
>> Regards,
>>
>> Charles Moulliard
>>
>> Apache Committer
>>
>> Blog : http://cmoulliard.blogspot.com
>> Twitter : http://twitter.com/cmoulliard
>> Linkedin : http://www.linkedin.com/in/charlesmoulliard
>> Skype: cmoulliard
>>
> 


--
View this message in context: http://openejb.979440.n4.nabble.com/Fwd-Very-strange-issue-tp4108198p4110285.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Re: Very strange issue

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi,

did you deployed commons-dbcp and xbean?

- Romain


2011/11/25 Charles Moulliard <cm...@gmail.com>

> If somebody has an idea ;-)
>
> ---------- Forwarded message ----------
> From: Charles Moulliard <cm...@gmail.com>
> Date: Fri, Nov 25, 2011 at 6:38 PM
> Subject: Very strange issue
> To: dev <de...@karaf.apache.org>
>
>
> Hi,
>
> I have a very strange problem in this part of the code of openejb
> using apache geronimo xbean
>
> My bundle imports/exports well the following package :
>
> karaf@root> packages:exports | grep org.apache.openejb.resource.jdbc
>   128 org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>
> karaf@root> packages:imports | grep org.apache.openejb.resource.jdbc
> Apache OpenEJB :: Container :: Core (128):
> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
> Apache OpenEJB :: Container :: Core (128):
> org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
>
> but when Apache Xbean through org.apache.xbean.recipe.RecipeHelper
> method is called
>
>    public Class getType() {
>        if (typeClass != null || typeName != null) {
>            Class type = typeClass;
>            if (type == null) {
>                try {
>                    type = RecipeHelper.loadClass(typeName);
>                } catch (ClassNotFoundException e) {
>                    throw new ConstructionException("Type class could
> not be found: " + typeName);
>                }
>            }
>
>            return type;
>        }
>
>        return null;
>    }
>
> -->
>
>    public static Class loadClass(String name) throws
> ClassNotFoundException {
>        ClassLoader classLoader =
> ExecutionContext.getContext().getClassLoader();
>        Class<?> type = Class.forName(name, true, classLoader);
>        return type;
>    }
>
> It generates the following error
>
> Caused by: org.apache.xbean.recipe.ConstructionException: Type class
> could not be found: org.apache.openejb.resource.jdbc.DataSourceFactory
>        at
> org.apache.xbean.recipe.ObjectRecipe.getType(ObjectRecipe.java:355)
>        at
> org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:266)
>        at
> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
>        at
> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
>        at
> org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
>        at
> org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1418)
>        at
> org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:395)
>        at
> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)
>
> See screenshot for the classloader used (felix)
> http://cl.ly/1W2N083K3f0U022A151v
>
> Any hep is welcome ?
>
> Regards,
>
> Charles Moulliard
>
> Apache Committer
>
> Blog : http://cmoulliard.blogspot.com
> Twitter : http://twitter.com/cmoulliard
> Linkedin : http://www.linkedin.com/in/charlesmoulliard
> Skype: cmoulliard
>

Fwd: Very strange issue

Posted by Charles Moulliard <cm...@gmail.com>.
If somebody has an idea ;-)

---------- Forwarded message ----------
From: Charles Moulliard <cm...@gmail.com>
Date: Fri, Nov 25, 2011 at 6:38 PM
Subject: Very strange issue
To: dev <de...@karaf.apache.org>


Hi,

I have a very strange problem in this part of the code of openejb
using apache geronimo xbean

My bundle imports/exports well the following package :

karaf@root> packages:exports | grep org.apache.openejb.resource.jdbc
  128 org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT

karaf@root> packages:imports | grep org.apache.openejb.resource.jdbc
Apache OpenEJB :: Container :: Core (128):
org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT
Apache OpenEJB :: Container :: Core (128):
org.apache.openejb.resource.jdbc; version=4.0.0.beta-2-SNAPSHOT

but when Apache Xbean through org.apache.xbean.recipe.RecipeHelper
method is called

   public Class getType() {
       if (typeClass != null || typeName != null) {
           Class type = typeClass;
           if (type == null) {
               try {
                   type = RecipeHelper.loadClass(typeName);
               } catch (ClassNotFoundException e) {
                   throw new ConstructionException("Type class could
not be found: " + typeName);
               }
           }

           return type;
       }

       return null;
   }

-->

   public static Class loadClass(String name) throws ClassNotFoundException {
       ClassLoader classLoader =
ExecutionContext.getContext().getClassLoader();
       Class<?> type = Class.forName(name, true, classLoader);
       return type;
   }

It generates the following error

Caused by: org.apache.xbean.recipe.ConstructionException: Type class
could not be found: org.apache.openejb.resource.jdbc.DataSourceFactory
       at org.apache.xbean.recipe.ObjectRecipe.getType(ObjectRecipe.java:355)
       at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRecipe.java:266)
       at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:96)
       at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:61)
       at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:49)
       at org.apache.openejb.assembler.classic.Assembler.createResource(Assembler.java:1418)
       at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:395)
       at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:318)

See screenshot for the classloader used (felix)
http://cl.ly/1W2N083K3f0U022A151v

Any hep is welcome ?

Regards,

Charles Moulliard

Apache Committer

Blog : http://cmoulliard.blogspot.com
Twitter : http://twitter.com/cmoulliard
Linkedin : http://www.linkedin.com/in/charlesmoulliard
Skype: cmoulliard