[wildfly-dev] AddStepHandler can't add content to overlay
Stuart Douglas
stuart.w.douglas at gmail.com
Mon Oct 13 16:20:48 EDT 2014
Can you elaborate on why you need this?
In your previous thread you mentioned user provided content and I
suggested that they could use overlays, however this would require the
user to install the overlays rather than the subystem.
Looking at your example it looks like you are adding
keycloak-server.json as an overlay, and I can't help but wonder why?
I would guess that you are doing this to allow a deployment to read a
file that is external to the deployment to be read from the class
loader? If that is the case then I think there are better ways you can
approach this (e.g. adding a resource loader to the module that can
access this file).
Stuart
Brian Stansberry wrote:
> There's no way now to make sure it runs after.
>
> But the fact it assumes that overlay is present in the first place
> sounds fishy. How do you know it exists?
>
> On 10/13/14, 1:30 PM, Stan Silvert wrote:
>> I have an AddStepHandler that adds a keycloak server to the management
>> model using the "Mixed Approach"[1]. It also needs to add overlay
>> content if any new content is available. The overlay itself already
>> exists in standalone.xml.
>> <deployment-overlays>
>> <deployment-overlay name="main-auth-server.war-keycloak-overlay">
>> <deployment name="main-auth-server.war"/>
>> </deployment-overlay>
>> </deployment-overlays>
>>
>> I insert this operation in my AddStepHandler:
>> {
>> "operation" => "add",
>> "address" => [
>> ("deployment-overlay" => "main-auth-server.war-keycloak-overlay"),
>> ("content" => "/WEB-INF/classes/META-INF/keycloak-server.json")
>> ],
>> "content" => {"url" => "file:/mydir/keycloak-server.json"},
>> "rollback-on-runtime-failure" => false
>> }
>>
>> But at this point in server startup, the overlay's add handler hasn't
>> bee called. So I get
>> 14:09:20,729 ERROR [org.jboss.as.controller.management-operation]
>> (ServerService Thread Pool -- 26) JBAS014613: Operation ("add") failed -
>> address: ([
>> ("deployment-overlay" => "main-auth-server.war-keycloak-overlay"),
>> ("content" => "/WEB-INF/classes/META-INF/keycloak-server.json")
>> ]) - failure description: "JBAS014766: Resource [(\"deployment-overlay\"
>> => \"main-auth-server.war-keycloak-overlay\")] does not exist; a
>> resource at address [
>> (\"deployment-overlay\" => \"main-auth-server.war-keycloak-overlay\"),
>> (\"content\" => \"/WEB-INF/classes/META-INF/keycloak-server.json\")
>> ] cannot be created until all ancestor resources have been added"
>>
>> At startup, how can I make sure that my "add overlay content" operation
>> is executed after "add overlay" is done?
>>
>> [1] https://developer.jboss.org/wiki/ExtendingAS7
>
>
More information about the wildfly-dev
mailing list