<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"Стандартный HTML Знак";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTML
        {mso-style-name:"Стандартный HTML Знак";
        mso-style-priority:99;
        mso-style-link:"Стандартный HTML";
        font-family:Consolas;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:2.0cm 42.5pt 2.0cm 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="RU" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D;mso-fareast-language:EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D;mso-fareast-language:EN-US">We have the same problem. We need to deploy the artifacts to remote servers to check regression. Such features of our
 development process. And it requires a full server restart. Will be good doing it on the fly like Wildfly redeploy wars/ears on the fly without stopping.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D;mso-fareast-language:EN-US"><o:p>&nbsp;</o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;"> keycloak-dev-bounces@lists.jboss.org [mailto:keycloak-dev-bounces@lists.jboss.org]
<b>On Behalf Of </b>Mitya<br>
<b>Sent:</b> Wednesday, June 22, 2016 12:53 AM<br>
<b>To:</b> Marek Posolda; keycloak-dev@lists.jboss.org<br>
<b>Subject:</b> Re: [keycloak-dev] Reloading KeyCloak on the fly<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<p class="MsoNormal">Hi Marek,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">What I'm looking for is the way to reload KeyCloak modules (providers) on the fly, hopefully without killing admin session (since not only I have to restart KeyCloak, but also to relogin each time). I'm afraid KeycloakServer only sees changes
 to custom themes, not modules. Or am I missing something?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Mitya<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Using KeycloakServer for development. It's using embedded undertow under the hood. Server restarted usually in few seconds and it sees the latest changes in your IDE if you run it directly from the IDE. See
<a href="https://github.com/keycloak/keycloak/blob/master/misc/Testsuite.md#keycloak-server">
https://github.com/keycloak/keycloak/blob/master/misc/Testsuite.md#keycloak-server</a><br>
<br>
Marek<br>
<br>
On 17/06/16 16:41, Mitya wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Hi,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">I'm developing a KeyCloak extension which is packaged as two JBoss modules:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- the extension proper (custom authenticator &#43; custom realm resource &#43; custom admin theme);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">- modified org.keycloak.keycloak-model-jpa (since Entity SPI is not yet available).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Each time I make changes, I have to go through a roundabout of stopping KeyCloak, deploying modules and starting KeyCloak again. This can happen as many as several dozen times a day; as soon as I roll a CI infrastructure, the build server
 will have to do the same. Needless to say, the process is pretty time-consuming; additionally, I'll have to grant permissions to the build server to restart a system service (KeyCloak is deployed as systemd unit). I've tried the following in jboss-cli:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">[disconnected /] connect<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[<a href="mailto:standalone@localhost">standalone@localhost</a>:9990 /] module remove --name=foo.bar.main<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[<a href="mailto:standalone@localhost">standalone@localhost</a>:9990 /] module add --name=foo.bar.main --resources=...&nbsp;--dependencies=...<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[<a href="mailto:standalone@localhost">standalone@localhost</a>:9990 /] reload<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">This doesn't help, despite WildFly reports to have redeployed and restarted KeyCloak. The updated modules are simply not picked up.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Am I missing something? KeyCloak developers, what would you recommend to speed-up the workflow?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">Cheers,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Mitya<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>keycloak-dev mailing list<o:p></o:p></pre>
<pre><a href="mailto:keycloak-dev@lists.jboss.org">keycloak-dev@lists.jboss.org</a><o:p></o:p></pre>
<pre><a href="https://lists.jboss.org/mailman/listinfo/keycloak-dev">https://lists.jboss.org/mailman/listinfo/keycloak-dev</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</blockquote>
</div>
</body>
</html>