[ 
https://issues.apache.org/jira/browse/BROOKLYN-409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15754708#comment-15754708
 ] 

ASF GitHub Bot commented on BROOKLYN-409:
-----------------------------------------

Github user neykov commented on a diff in the pull request:

    https://github.com/apache/brooklyn-server/pull/489#discussion_r92830375
  
    --- Diff: utils/common/dependencies/osgi/com-example-entities/pom.xml ---
    @@ -0,0 +1,89 @@
    +<?xml version="1.0" encoding="UTF-8"?>
    +<!--
    +    Licensed to the Apache Software Foundation (ASF) under one
    +    or more contributor license agreements.  See the NOTICE file
    +    distributed with this work for additional information
    +    regarding copyright ownership.  The ASF licenses this file
    +    to you under the Apache License, Version 2.0 (the
    +    "License"); you may not use this file except in compliance
    +    with the License.  You may obtain a copy of the License at
    +    
    +     http://www.apache.org/licenses/LICENSE-2.0
    +    
    +    Unless required by applicable law or agreed to in writing,
    +    software distributed under the License is distributed on an
    +    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +    KIND, either express or implied.  See the License for the
    +    specific language governing permissions and limitations
    +    under the License.
    +-->
    +<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    +    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
    +    <modelVersion>4.0.0</modelVersion>
    +    <packaging>jar</packaging>
    +
    +    <!--
    +    Deliberately not using "org.apache.brooklyn", because those are 
white-listed for 
    +    class-loading purposes. This is *only* used for testing, and is not 
released to
    +    maven-central etc, so it's ok to use a groupId that we don't actually 
own!
    +    -->
    +    <groupId>com.example.brooklyn.test.resources.osgi</groupId>
    +    <artifactId>brooklyn-test-osgi-com-example-entities</artifactId>
    +    <version>0.1.0</version>
    +
    +    <name>OSGi bundled test entities</name>
    +
    +    <description>
    +        Simple entities for testing the OSGi functionality
    +    </description>
    +
    +    <parent>
    +        <groupId>org.apache.brooklyn</groupId>
    +        <artifactId>brooklyn-parent</artifactId>
    +        <version>0.11.0-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
    +        <relativePath>../../../../../../../parent/pom.xml</relativePath>
    +    </parent>
    +    <dependencies>
    +        <dependency>
    +            <groupId>org.apache.brooklyn</groupId>
    +            <artifactId>brooklyn-core</artifactId>
    +            <version>${brooklyn.version}</version>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.apache.brooklyn</groupId>
    +            <artifactId>brooklyn-api</artifactId>
    +            <version>${brooklyn.version}</version>
    +        </dependency>
    +        <dependency>
    +            <groupId>org.apache.brooklyn</groupId>
    +            <artifactId>brooklyn-utils-common</artifactId>
    +            <version>${brooklyn.version}</version>
    +        </dependency>
    +    </dependencies>
    +    
    +    <build>
    +        <plugins>
    +            <plugin>
    +                <groupId>org.apache.maven.plugins</groupId>
    +                <artifactId>maven-jar-plugin</artifactId>
    +                <version>2.3.2</version>
    --- End diff --
    
    The version is already defined (albeit a different one) in parent pom, 
remove from there.
    Same for below.


> Rebind fails in karaf, with app referencing classes in catalog item's bundle
> ----------------------------------------------------------------------------
>
>                 Key: BROOKLYN-409
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-409
>             Project: Brooklyn
>          Issue Type: Bug
>            Reporter: Aled Sage
>            Assignee: Aled Sage
>             Fix For: 0.10.0
>
>
> Using Brooklyn 0.10.0-SNAPSHOT, running in karaf...
> A customer deployed an app, which uses entity and policy classes defined in 
> an OSGi bundle (supplied via brooklyn.libraries). A simplified version of the 
> catalog item is something like that below (where 
> {{com.example.apps.MyTopLevelApp}} and {{com.example.policies.MyPolicy}} are 
> Java classes in my-bundle.jar):
> {noformat}
> brooklyn.catalog:
>   brooklyn.libraries:
>   - file:///path/to/my-bundle.jar
>   id: com.example.MyApp
>   itemType: template
>   version: 1.3
>   description: My App
>   displayName: My App
>   item:
>     services:
>     - type: com.example.apps.MyTopLevelApp
>       brooklyn.config: 
>         childSpec:
>           $brooklyn:entitySpec:
>             type: 
> org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
>             name: Sshable
>             brooklyn.config:
>               checkRunning.command: echo true
>               customize.command: echo true
>               launch.command: echo true
>             brooklyn.policies:
>             - type: com.example.policies.MyPolicy
> {noformat}
> This deploys fine. However, when one stops and restarts Brooklyn (so 
> rebinding to persisted state) it gives the exception below:
> {noformat}
> 2016-12-14 09:30:47,157 WARN  116 o.a.b.c.m.r.RebindExceptionHandlerImpl 
> [nager-msT0tE2K-0] Rebind: continuing after problem creating POLICY 
> isk2552l4k of type com.example.policies.MyPolicy
> java.lang.IllegalStateException: Unable to load com.example.policies.MyPolicy 
> from []: Invalid class: com.example.policies.MyPolicy: 
> ClassNotFoundException: com.example.policies.MyPolicy
>         at 
> org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:40)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:26)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.util.guava.Maybe$Absent.getException(Maybe.java:337)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.util.guava.Maybe$Absent.get(Maybe.java:331)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.classloading.AbstractBrooklynClassLoadingContext.loadClass(AbstractBrooklynClassLoadingContext.java:55)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.RebindIteration$BrooklynObjectInstantiator.load(RebindIteration.java:953)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.RebindIteration$BrooklynObjectInstantiator.newPolicy(RebindIteration.java:1039)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.RebindIteration.instantiateAdjuncts(RebindIteration.java:482)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.RebindIteration.doRun(RebindIteration.java:242)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.InitialFullRebindIteration.doRun(InitialFullRebindIteration.java:69)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.RebindIteration.run(RebindIteration.java:266)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl.rebindImpl(RebindManagerImpl.java:558)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:508)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.rebind.RebindManagerImpl$3.call(RebindManagerImpl.java:506)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.util.core.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:522)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)[:1.7.0_71]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_71]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_71]
>         at java.lang.Thread.run(Thread.java:745)[:1.7.0_71]
> Caused by: org.apache.brooklyn.util.exceptions.PropagatedRuntimeException: 
> Unable to load com.example.policies.MyPolicy from []: Invalid class: 
> com.example.policies.MyPolicy: ClassNotFoundException: 
> com.example.policies.MyPolicy
>         at 
> org.apache.brooklyn.util.exceptions.Exceptions.create(Exceptions.java:432)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential.tryLoadClass(BrooklynClassLoadingContextSequential.java:88)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.classloading.AbstractBrooklynClassLoadingContext.tryLoadClass(AbstractBrooklynClassLoadingContext.java:61)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         ... 15 more
> Caused by: java.lang.IllegalStateException: Invalid class: 
> com.example.policies.MyPolicy
>         at 
> org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:40)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.util.guava.IllegalStateExceptionSupplier.get(IllegalStateExceptionSupplier.java:26)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.util.guava.Maybe$Absent.getException(Maybe.java:337)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.util.guava.Maybe.getException(Maybe.java:465)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential.tryLoadClass(BrooklynClassLoadingContextSequential.java:85)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         ... 16 more
> Caused by: java.lang.ClassNotFoundException: com.example.policies.MyPolicy
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:366)[:1.7.0_71]
>         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)[:1.7.0_71]
>         at java.security.AccessController.doPrivileged(Native 
> Method)[:1.7.0_71]
>         at 
> java.net.URLClassLoader.findClass(URLClassLoader.java:354)[:1.7.0_71]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:425)[:1.7.0_71]
>         at 
> sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)[:1.7.0_71]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_71]
>         at 
> org.apache.brooklyn.util.javalang.AggregateClassLoader.findClass(AggregateClassLoader.java:135)[139:org.apache.brooklyn.utils-common:0.10.0.20161205_1210]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:425)[:1.7.0_71]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_71]
>         at 
> org.apache.brooklyn.core.mgmt.classloading.JavaBrooklynClassLoadingContext.tryLoadClass0(JavaBrooklynClassLoadingContext.java:101)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.classloading.JavaBrooklynClassLoadingContext.tryLoadClass(JavaBrooklynClassLoadingContext.java:84)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         at 
> org.apache.brooklyn.core.mgmt.classloading.BrooklynClassLoadingContextSequential.tryLoadClass(BrooklynClassLoadingContextSequential.java:81)[116:org.apache.brooklyn.core:0.10.0.20161205_1210]
>         ... 16 more
> {noformat}
> Brooklyn does start up, but the policy no longer exists on the entity.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to