[windup-dev] Furnace not finding Windup FileService
Lincoln Baxter, III
lincolnbaxter at gmail.com
Fri Mar 27 12:13:03 EDT 2015
Ah, well one issue is that the "*ModelServices" like FileService are not
actually Furnace services.. That's unfortunate... Do you need access to the
FileService?
On Wed, Mar 25, 2015 at 12:33 PM, Ian Tewksbury <itewk at redhat.com> wrote:
> Lincoln,
>
> Sorry. I just saw this. My email filters took over when you added the
> windup mailing list and it got filtered out of my main inbox.
>
> The Furnace method I added was:
>
> public <S> S lookupType(Class<S> service) {
> S instance = null;
> if (furnace != null) {
> Set<Class<S>> types = null;
> types = furnace.getAddonRegistry().getExportedTypes(service);
>
> if (types != null && !types.isEmpty()) {
> for(Class<S> type : types) {
> try {
> instance = type.newInstance();
> break;
> } catch (Exception e) {
> e.getMessage();
> //skip to next instance if this one did not work
> }
> }
> }
> }
>
> return instance;
> }
>
> My issue was with loading "FileService.class". Calling "lookup" could not
> find it, but calling my new "lookupType" it could find it.
>
> Blue Skies,
> ~Ian
>
> ------------------------------
> *From: *"Lincoln Baxter, III" <lincoln at redhat.com>
> *To: *"Ian Tewksbury" <itewk at redhat.com>
> *Cc: *"Robb Greathouse" <robb.greathouse at redhat.com>, "George Gastaldi" <
> ggastald at redhat.com>, "Windup-dev List" <windup-dev at lists.jboss.org>
> *Sent: *Monday, March 23, 2015 10:23:09 AM
>
> *Subject: *Re: Furnace not finding Windup FileService
>
> Hey Ian,
>
> (Adding windup-dev.)
>
> I'm not really sure what this issue could be, but it worries me that you
> needed to add a method to FurnaceService. What did you add? You can't ask
> Furnace for an instance of a type that is not a Service. (It wouldn't know
> how to construct it.)
>
> The last error you received worries me specifically because it makes me
> think that there is something funky going on with the ClassLoader hierarchy
> itself, and that is never good; however, it could be due to some kind of
> quirk with what you added (it also may be a bug), so I think I need to see
> what you are doing.
>
> Could you show me where this code is so that I can take a look?
>
> Thanks!
> ~Lincoln
>
> ------------------------------
> *From: *"Ian Tewksbury" <itewk at redhat.com>
> *To: *"Lincoln Baxter" <lbaxter at redhat.com>
> *Cc: *"Robb Greathouse" <robb.greathouse at redhat.com>
> *Sent: *Sunday, March 22, 2015 9:57:36 PM
> *Subject: *Re: Furnace not finding Windup FileService
>
> Licoln,
>
> Got passed those previous errors. New error now:
>
> !ENTRY org.eclipse.core.jobs 4 2 2015-03-22 21:52:59.403
> !MESSAGE An internal error occurred during: "Validating".
> !STACK 0
> java.lang.LinkageError: loader constraint violation: loader (instance of
> org/jboss/tools/forge/core/internal/furnace/CompositeFurnaceClassLoader)
> previously initiated loading for a different type with name
> "org/jboss/forge/furnace/util/Predicate"
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
> at java.lang.Class.getDeclaredMethods(Class.java:1860)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.SecurityActions.getDeclaredMethods(SecurityActions.java:30)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.findMethod2(RuntimeSupport.java:134)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.findMethod(RuntimeSupport.java:65)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.RuntimeSupport.find2Methods(RuntimeSupport.java:53)
> at
> org.jboss.windup.exec.configuration.WindupConfiguration_$$_javassist_5effd6de-6f27-4c9d-9f94-b9492b06844c.<clinit>(WindupConfiguration_$$_javassist_5effd6de-6f27-4c9d-9f94-b9492b06844c.java)
> at sun.misc.Unsafe.ensureClassInitialized(Native Method)
> at
> sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(UnsafeFieldAccessorFactory.java:43)
> at
> sun.reflect.ReflectionFactory.newFieldAccessor(ReflectionFactory.java:140)
> at java.lang.reflect.Field.acquireFieldAccessor(Field.java:1057)
> at java.lang.reflect.Field.getFieldAccessor(Field.java:1038)
> at java.lang.reflect.Field.set(Field.java:741)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.setField(ProxyFactory.java:525)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass3(ProxyFactory.java:508)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass2(ProxyFactory.java:492)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass1(ProxyFactory.java:428)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:400)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$3.call(ClassLoaderAdapterCallback.java:987)
> at
> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:900)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhanceResult(ClassLoaderAdapterCallback.java:253)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.access$200(ClassLoaderAdapterCallback.java:37)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
> at
> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
> at
> org.jboss.forge.furnace.services.Imported_$$_javassist_34707ba1-98fb-4b8a-93ed-559398be971b.get(Imported_$$_javassist_34707ba1-98fb-4b8a-93ed-559398be971b.java)
> at
> org.jboss.tools.forge.core.furnace.FurnaceService.lookup(FurnaceService.java:96)
> at
> org.jboss.tools.windup.core.WindupService.getServiceFromFurnace(WindupService.java:485)
> at
> org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:226)
> at
> org.jboss.tools.windup.core.WindupService.getGraph(WindupService.java:301)
> at
> org.jboss.tools.windup.core.WindupService.getInlineHints(WindupService.java:103)
> at
> org.jboss.tools.windup.core.internal.validators.WindupValidator.validate(WindupValidator.java:81)
> at org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159)
> at
> org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704)
> at
> org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665)
> at
> org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810)
> at
> org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669)
> at
> org.eclipse.wst.validation.internal.ValidationRunner.execute(ValidationRunner.java:134)
> at
> org.eclipse.wst.validation.internal.ValidationRunner.validate(ValidationRunner.java:68)
> at
> org.eclipse.wst.validation.ui.internal.ManualValidationRunner.runInWorkspace(ManualValidationRunner.java:83)
> at
> org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>
>
>
> Blue Skies,
> ~Ian
>
> ------------------------------
> *From: *"Ian Tewksbury" <itewk at redhat.com>
> *To: *"Lincoln Baxter" <lbaxter at redhat.com>
> *Cc: *"Robb Greathouse" <robb.greathouse at redhat.com>
> *Sent: *Sunday, March 22, 2015 7:49:28 PM
> *Subject: *Re: Furnace not finding Windup FileService
>
> Licncoln,
>
> I added some new API to the FurnaceService to be able to lookup a type
> which got me passed the below errors.
>
> Now I am running into:
>
> java.lang.NoClassDefFoundError: com/tinkerpop/frames/FramedGraph
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
> at java.lang.Class.getDeclaredMethods(Class.java:1860)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.SecurityActions.getDeclaredMethods(SecurityActions.java:30)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.getMethods(ProxyFactory.java:1121)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.getMethods(ProxyFactory.java:1096)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.makeSortedMethodList(ProxyFactory.java:803)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.computeSignature(ProxyFactory.java:810)
> at
> org.jboss.forge.furnace.proxy.javassist.util.proxy.ProxyFactory.createClass(ProxyFactory.java:398)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$3.call(ClassLoaderAdapterCallback.java:987)
> at
> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhance(ClassLoaderAdapterCallback.java:900)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.enhanceResult(ClassLoaderAdapterCallback.java:277)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.access$200(ClassLoaderAdapterCallback.java:37)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback$2.call(ClassLoaderAdapterCallback.java:124)
> at
> org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:42)
> at
> org.jboss.forge.furnace.proxy.ClassLoaderAdapterCallback.invoke(ClassLoaderAdapterCallback.java:96)
> at
> org.jboss.windup.graph.GraphContextFactory_$$_javassist_2a504b60-d6e3-450e-87b5-f41eb849ab81.create(GraphContextFactory_$$_javassist_2a504b60-d6e3-450e-87b5-f41eb849ab81.java)
> at
> org.jboss.tools.windup.core.WindupService.generateGraph(WindupService.java:235)
> at
> org.jboss.tools.windup.core.WindupService.getGraph(WindupService.java:303)
> at
> org.jboss.tools.windup.core.WindupService.getInlineHints(WindupService.java:103)
> at
> org.jboss.tools.windup.core.internal.validators.WindupValidator.validate(WindupValidator.java:81)
> at org.eclipse.wst.validation.Validator$V2.validate(Validator.java:1159)
> at
> org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:704)
> at
> org.eclipse.wst.validation.internal.ValManager$1.visit(ValManager.java:665)
> at
> org.eclipse.wst.validation.internal.ValManager.accept(ValManager.java:810)
> at
> org.eclipse.wst.validation.internal.ValManager.validate(ValManager.java:669)
> at
> org.eclipse.wst.validation.internal.ValidationRunner.execute(ValidationRunner.java:134)
>
> at
> org.eclipse.wst.validation.internal.ValidationRunner.validate(ValidationRunner.java:68)
> at
> org.eclipse.wst.validation.ui.internal.ManualValidationRunner.runInWorkspace(ManualValidationRunner.java:83)
> at
> org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
> Caused by: java.lang.ClassNotFoundException:
> com.tinkerpop.frames.FramedGraph cannot be found by
> org.jboss.tools.windup.runtime_3.1.0.qualifier
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:432)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
> at
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
> at
> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> ... 32 more
>
>
> I have verified that the Furnace add on
> 'org-jboss-windup-graph-windup-graph' is being loaded and contains the
> windup-frames JAR so I am not clear why furnace is not able to load the
> class.
>
>
> Ideas?
>
>
> Blue Skies,
>
> ~Ian
>
> ------------------------------
> *From: *"Ian Tewksbury" <itewk at redhat.com>
> *To: *"Lincoln Baxter" <lbaxter at redhat.com>
> *Cc: *"Robb Greathouse" <robb.greathouse at redhat.com>
> *Sent: *Sunday, March 22, 2015 5:18:55 AM
> *Subject: *Re: Furnace not finding Windup FileService
>
> Lioncoln,
>
> Looking here,
> http://grepcode.com/file/repository.jboss.org/nexus/content/repositories/releases/org.jboss.forge.furnace.container/cdi-impl/2.10.1.Final/org/jboss/forge/furnace/container/cdi/impl/WeldServiceRegistry.java#WeldServiceRegistry.getExportedInstances%28java.lang.Class%29, and
> debuging through eclipse without source, I have figured out it is choking
> on like 189. It appears this #getExportedInstances method is only for
> loading beans. I see a #getExportedType which is what I am guessing I need,
> but the only Furnace API I see is FurnaceService.INSTANCE.lookup(clazz)
> which ends up doing this bean lookup rather then a type lookup. Am I
> missing something here? Is there just missing API to look up a type and not
> a bean via Furnace?
>
> Blue Skies,
> ~Ian
>
> ------------------------------
> *From: *"Ian Tewksbury" <itewk at redhat.com>
> *To: *"Lincoln Baxter" <lbaxter at redhat.com>, "Robb Greathouse" <
> robb.greathouse at redhat.com>
> *Sent: *Sunday, March 22, 2015 4:57:43 AM
> *Subject: *Furnace not finding Windup FileService
>
> Lincoln,
>
> I can not figure out why Furnance is reporting that it can not find the
> Windup FileService despite the fact that it is reporting it loaded the
> graph-api addon. Any ideas?
>
> Please see attached for the log. It clearly shows the graph-api addon
> being loaded. And I have verified that addon contains the graph-api.jar
> which contains the FileService. I have tried to debug the furnace stuff but
> I keep running into source not found issues and getting lost. I have been
> able to tell that ImportedImpl#getExportedInstances is getting called and
> it is looping over the graph-api addon. But it does not seem to find the
> class in there, but I have not been able to debug into furnace beyond that
> point.
>
> Looking at the variable state the WeldServiceRegistery instance for the
> graph-api addon shows the FIleService there. For some reason it is just not
> being retrevied. I have attached a screenshoot of the variable state from
> within ImportedImpl#getExportedInstances. Can you think of any
> reason serviceRegistry.getExportedInstances(type) would be failing giving
> all of this?
>
>
> ~Ian
>
>
>
>
>
>
> _______________________________________________
> windup-dev mailing list
> windup-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/windup-dev
>
--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/windup-dev/attachments/20150327/7df1c367/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: windup.png
Type: image/png
Size: 172297 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/windup-dev/attachments/20150327/7df1c367/attachment-0001.png
More information about the windup-dev
mailing list