Hi What is your goal with this?
The reload stuff is for development and not a production app server to "redeploy apps" or any sort of that. The intention is that you work on a single application. The reload is using Java APIs for "change file events" and this does not support an ANT style way and whatnot. On Wed, May 17, 2023 at 8:45 PM Fyodor Kravchenko <feddkr...@hotmail.com> wrote: > I'm sorry please disregard my previous ramblings, moving the "deploy" > directory to the working directory of the java app did the "include" > trick. It worked without the "file:" prefix because it was looking into > the "target" directry which was the classpath.. My fault. > > However, the additional question remains: how do I make it _reload_ what > it loaded previosly, without catching the extra *.yaml files that may be > located in the wrong directories? > > I'm trying this, > > Main main = new Main(); > > main.configure().withRoutesIncludePattern("file:deploy/**/PRIVATE/EXCHANGE/*.yaml"); > main.configure().withRoutesReloadEnabled(true); > main.configure().withRoutesReloadDirectory("deploy"); > main.configure().withRoutesReloadDirectoryRecursive(true); > // main.configure().withRoutesReloadPattern("**/PRIVATE/EXCHANGE/*.yaml"); > // main.configure().withRoutesReloadPattern("PRIVATE/EXCHANGE/*.yaml"); > main.configure().withRoutesReloadPattern("*.yaml"); > main.configure().withRoutesReloadRemoveAllRoutes(true); > main.run(); > > but this will catch and load any .yaml file under the "deploy" > directory, event those that wasn't loaded at startup, when I touch any > of the yamls. > > Any tips on reloading patterns? > > Thank you! > > On 17.05.2023 21:06, Fyodor Kravchenko wrote: > > Hi, thanks but this > > > > ............................. > > > Netbeans uses the following command to run the program: > > > > cd /home/fedd/NetBeansProjects/camelmaintry; > > JAVA_HOME=/home/fedd/Programs/graalvm-ce-java19-22.3.0 > > /snap/netbeans/76/netbeans/java/maven/bin/mvn -Dexec.vmArgs= > > "-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} > > ${exec.appArgs}" -Dexec.appArgs= > > -Dexec.mainClass=camelmaintry.CamelMainTry > > -Dexec.executable=/home/fedd/Programs/graalvm-ce-java19-22.3.0/bin/java > > org.codehaus.mojo:exec-maven-plugin:3.1.0:exec > > > > (nothing special in the "exec.mainClass" and other placeholders there) > > > > I can't grasp how to make it look into this pattern: > > > > deploy/**/PRIVATE/EXCHANGE/*.yaml > > > > Thanks! > > --fedd > > > > On 17.05.2023 20:15, Claus Ibsen wrote: > >> Hi > >> > >> Okay for file system, you should favour prefixing with file: > >> > >> > main.configure().withRoutesIncludePattern("file:deploy/customer/PRIVATE/EXCHANGE/*.yaml"); > > >> > >> > >> > >> On Wed, May 17, 2023 at 3:53 PM Fyodor Kravchenko > >> <feddkr...@hotmail.com> > >> wrote: > >> > >>> Hi, > >>> > >>> I'm trying to load the routes from the file system directly, it's Camel > >>> 3.20.4, and it's java 19 from the GraalVM distribution running on > >>> Ubuntu > >>> 22.04. The fact it sees the file when no wildcard is present tells me > >>> that I'm missing something in the wildcards and the docs. > >>> > >>> Thank you! > >>> > >>> --fedd > >>> > >>> (sorry for the late response, only now I've got the rejection > >>> notification for the html-formatted email) > >>> > >>> On 15.05.2023 11:01, Claus Ibsen wrote: > >>>> Hi > >>>> > >>>> Are you loading these files from classpath or file system directly. > >>>> And what Camel version do you use > >>>> > >>>> > >>>> > >>>> On Sun, May 14, 2023 at 5:39 PM Fyodor Kravchenko > >>>> <feddkr...@hotmail.com > >>>> > >>>> wrote: > >>>> > >>>>> Hello, > >>>>> > >>>>> in my little test I'm trying the following, > >>>>> > >>>>> > >>>>> public class CamelMainTry { > >>>>> public static void main(String[] args) throws Exception { > >>>>> Main main = new Main(); > >>>>> // this works but I need to catch more > >>>>> // > >>>>> > >>>>> > >>> > main.configure().withRoutesIncludePattern("deploy/customer/PRIVATE/EXCHANGE/*.yaml"); > > >>> > >>>>> // these don't work:' > >>>>> // > >>>>> > >>>>> > >>> > main.configure().withRoutesIncludePattern("deploy/**/PRIVATE/EXCHANGE/*.yaml"); > > >>> > >>>>> > >>> > main.configure().withRoutesIncludePattern("deploy/*/PRIVATE/EXCHANGE/*.yaml"); > > >>> > >>>>> main.run(); > >>>>> } > >>>>> } > >>>>> > >>>>> my files are located: > >>>>> > >>>>> deploy/customer/PRIVATE/EXCHANGE/cust.yaml > >>>>> > >>>>> deploy/register/bank/PRIVATE/EXCHANGE/reg.yaml > >>>>> > >>>>> So there could be more directories in the middle; however it doesn't > >>>>> substitute even one. > >>>>> > >>>>> The Ant-style (or what I'm thinking the Ant style) pattern doesn't > >>>>> seem > >>>>> to catch multiple directories. If I specify the directory > >>>>> explicitly it > >>>>> works, but I need it to locate the routes in dozens of directories. > >>>>> > >>>>> How do I fix it? > >>>>> > >>>>> (While we're at it I would also like to make it reload on the fly for > >>>>> the testing purposes, not all of the .yaml files but restricting > >>>>> it to > >>>>> my directory structure) > >>>>> > >>>>> Thanks! > >>>>> > >>>>> --fedd > >>>>> > >>>>> > >>>>> > >> > -- Claus Ibsen ----------------- @davsclaus Camel in Action 2: https://www.manning.com/ibsen2