Hey Fabrice, 

You commented out the following in conf/activemq.xml 

    <!-- XXX Fabrice
    <bean 
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>file:${activemq.conf}/credentials.properties</value>
        </property>
    </bean>
    -->

Without this the ${activemq.data} properties and others won't be interpolated 
properly. You seem to be trying to minimize the config files and there is no 
credentials.properties file so you need to include at least the following: 

    <bean 
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    </bean>

However, with the config and docker setup you provided ActiveMQ still won't 
start as your jetty.xml is referring to "jetty-realm.properties" which is 
missing. 

I hope this helps! 
Lucas

On 2021-06-22, 5:51 PM, "Matt Pavlovich" <mattr...@gmail.com> wrote:

    CAUTION: This email originated from outside of the organization. Do not 
click links or open attachments unless you can confirm the sender and know the 
content is safe.



    I believe this is still problematic:

        /app/${activemq.data}/kahadb

    I expect ${activemq.data} to be expanded to the actual value


    > On Jun 22, 2021, at 3:37 PM, Fabrice Triboix 
<fabrice.trib...@armedia.com> wrote:
    >
    > I think I didn't miss it, but for some reason it doesn't get attached. So 
here is a copy/paste:
    >
    > ​FROM openjdk:11-jre
    >
    > # Environment variables: version and tarball stuff
    > ENV ACTIVEMQ_VERSION 5.16.2
    > ENV ACTIVEMQ         apache-activemq-$ACTIVEMQ_VERSION
    > ENV ACTIVEMQ         apache-activemq-$ACTIVEMQ_VERSION
    > ENV ACTIVEMQ_SHA512  
27bb26786640f74dcf404db884bedffc0af4bfb2a0248c398044ac9a13e19ff097c590b79eb1404e0b04d17a8f85a8f7de87186a96744e19162d70b3c7a9bdde
    >
    > # Environment variables: ActiveMQ directories
    > ENV ACTIVEMQ_HOME /app/activemq
    > ENV ACTIVEMQ_BASE $ACTIVEMQ_HOME
    > ENV ACTIVEMQ_CONF /app/conf
    > ENV ACTIVEMQ_DATA /app/data
    > ENV ACTIVEMQ_TMP  /app/tmp
    >
    > # Environment variables: system stuff
    > ENV DEBIAN_FRONTEND noninteractive
    >
    > WORKDIR /app
    >
    > RUN curl -fsSLo activemq.tgz 
"https://archive.apache.org/dist/activemq/5.16.2/apache-activemq-5.16.2-bin.tar.gz";
 \
    >        && checksum=$(sha512sum activemq.tgz | awk '{ print $1 }') \
    >        && if [ $checksum != $ACTIVEMQ_SHA512 ]; then \
    >                echo "Unexpected SHA512 checksum; possible 
man-in-the-middle-attack"; \
    >                exit 1; \
    >            fi \
    >        && tar xf activemq.tgz \
    >        && rm activemq.tgz \
    >        && ln -s "/app/$ACTIVEMQ" /app/activemq \
    >        && cd activemq \
    >        && rm bin/activemq-diag bin/env bin/wrapper.jar LICENSE NOTICE 
README.txt \
    >            activemq-all-5.16.2.jar conf/*.ts conf/*.ks \
    >        && rm -r bin/linux-x86-32 bin/linux-x86-64 bin/macosx \
    >            data docs examples webapps-demo \
    >        && useradd --system --no-create-home --home-dir /app/home activemq 
\
    >        && mkdir -p /app/home "$ACTIVEMQ_CONF" "$ACTIVEMQ_DATA" 
"$ACTIVEMQ_TMP" \
    >        && chown -R activemq:activemq "$ACTIVEMQ_CONF" "$ACTIVEMQ_DATA" 
"$ACTIVEMQ_TMP"
    >
    > USER activemq
    >
    > CMD ["/app/activemq/bin/activemq", "console"]
    >
    > ________________________________
    > From: Fabrice Triboix <fabrice.trib...@armedia.com>
    > Sent: 22 June 2021 21:04
    > To: users@activemq.apache.org <users@activemq.apache.org>
    > Subject: Re: Roundup of the configuration files
    >
    >
    > CAUTION: This email originated from outside of the organization. Do not 
click links or open attachments unless you recognize the sender and know the 
content is safe.
    >
    >
    > It looks like I missed the Dockerfile, sorry about that. Here it is!
    >
    > ________________________________
    > From: Fabrice Triboix <fabrice.trib...@armedia.com>
    > Sent: 22 June 2021 20:27
    > To: users@activemq.apache.org <users@activemq.apache.org>
    > Subject: Re: Roundup of the configuration files
    >
    >
    > CAUTION: This email originated from outside of the organization. Do not 
click links or open attachments unless you recognize the sender and know the 
content is safe.
    >
    >
    > Hi Matt,
    >
    > Please find attached my Dockerfile and docker-compose file. Also included 
is the "conf" directory I am mounting inside the container to configure 
ActiveMQ. Hopefully you should be able to reproduce the problem.
    >
    > Here is the full log when I run docker-compose up​😒
    >
    > $ docker-compose up
    > Creating network "ark_activemq_default" with the default driver
    > Creating ark_activemq_activemq_1 ... done
    > Attaching to ark_activemq_activemq_1
    > activemq_1  | INFO: Using default configuration
    > activemq_1  |       Configurations are loaded in the following order: 
/etc/default/activemq /app/home/.activemqrc /app/activemq/bin/env
    > activemq_1  |
    > activemq_1  | INFO: Using java '/usr/local/openjdk-11/bin/java'
    > activemq_1  | INFO: Starting in foreground, this is just for debugging 
purposes (stop process by pressing CTRL+C)
    > activemq_1  | INFO: Creating pidfile /app/data/activemq.pid
    > activemq_1  | Java Runtime: Oracle Corporation 11.0.11 
/usr/local/openjdk-11
    > activemq_1  |   Heap sizes: current=260096k  free=258119k  max=4098048k
    > activemq_1  |     JVM args: 
-Djava.util.logging.config.file=logging.properties 
-Djava.security.auth.login.config=/app/conf/login.config 
-Djava.awt.headless=true -Djava.io.tmpdir=/app/tmp 
--add-reads=java.xml=java.logging 
--add-opens=java.base/java.security=ALL-UNNAMED 
--add-opens=java.base/java.net=ALL-UNNAMED 
--add-opens=java.base/java.lang=ALL-UNNAMED 
--add-opens=java.base/java.util=ALL-UNNAMED 
--add-opens=java.naming/javax.naming.spi=ALL-UNNAMED 
--add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED 
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED 
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED 
--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED 
--add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED 
--add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED 
--add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED 
--add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED 
-Dactivemq.classpath=/app/conf:/app/activemq/../lib/: 
-Dactivemq.home=/app/activemq -Dactivemq.base=/app/activemq 
-Dactivemq.conf=/app/conf -Dactivemq.data=/app/data
    > activemq_1  | Extensions classpath:
    > activemq_1  |   
[/app/activemq/lib,/app/activemq/lib/camel,/app/activemq/lib/optional,/app/activemq/lib/web,/app/activemq/lib/extra]
    > activemq_1  | ACTIVEMQ_HOME: /app/activemq
    > activemq_1  | ACTIVEMQ_BASE: /app/activemq
    > activemq_1  | ACTIVEMQ_CONF: /app/conf
    > activemq_1  | ACTIVEMQ_DATA: /app/data
    > activemq_1  | Loading message broker from: xbean:activemq.xml
    > activemq_1  |  INFO | Refreshing 
org.apache.activemq.xbean.XBeanBrokerFactory$1@8646db9: startup date [Tue Jun 
22 19:25:11 UTC 2021]; root of context hierarchy
    > activemq_1  |  INFO | Using Persistence Adapter: 
KahaDBPersistenceAdapter[/app/${activemq.data}/kahadb]
    > activemq_1  |  INFO | Database ${activemq.data}/kahadb/lock is locked by 
another server. This broker is now in slave mode waiting a lock to be acquired
    >
    > After that, nothing gets logged any more.
    >
    > Thanks a lot for your help!
    >
    >  Fabrice
    >
    > ________________________________
    > From: Matt Pavlovich <mattr...@gmail.com>
    > Sent: 22 June 2021 18:23
    > To: users@activemq.apache.org <users@activemq.apache.org>
    > Subject: Re: Roundup of the configuration files
    >
    > CAUTION: This email originated from outside of the organization. Do not 
click links or open attachments unless you recognize the sender and know the 
content is safe.
    >
    >
    > Flying blind here.. without more detailed logs or information there isn’t 
enough information to point to a root cause.
    >
    > I can confirm that people have run ActiveMQ in Docker containers for 
years, so I do not suspect you are running into a bug at this point.
    >
    > I’d look into this line next--  "${activemq.data}/kahadb/lock”.  I would 
expect the log line to expand the value of vs output the literal macro 
expression “${activemq.data}”.
    >
    > -Matt Pavlovich
    >
    >> On Jun 22, 2021, at 11:46 AM, Fabrice Triboix 
<fabrice.trib...@armedia.com> wrote:
    >>
    >> Hi Matt,
    >>
    >> No, I am not using a volume at the moment.
    >>
    >> The data directory that I am using is /app/data​ and is owned by the 
activemq​ user and activemq​ group with 755 permissions. ActiveMQ runs as the 
activemq​ user. ActiveMQ clearly can create files there:
    >>
    >> activemq@7a5313d69a74:/app/data$ ls -al
    >> total 20
    >> drwxr-xr-x 1 activemq activemq 4096 Jun 22 16:44 .
    >> drwxr-xr-x 1 root     root     4096 Jun 22 16:38 ..
    >> -rw-r--r-- 1 activemq activemq  610 Jun 22 16:44 activemq.log
    >> -rw-r--r-- 1 activemq activemq    2 Jun 22 16:44 activemq.pid
    >> -rw-r--r-- 1 activemq activemq    0 Jun 22 16:44 audit.log
    >>
    >> Cheers,
    >>
    >> Fabrice
    >>
    >>
    >> ________________________________
    >> From: Matt Pavlovich <mattr...@gmail.com>
    >> Sent: 22 June 2021 16:54
    >> To: users@activemq.apache.org <users@activemq.apache.org>
    >> Subject: Re: Roundup of the configuration files
    >>
    >> CAUTION: This email originated from outside of the organization. Do not 
click links or open attachments unless you recognize the sender and know the 
content is safe.
    >>
    >>
    >> Are you using a volume? Could be permissions related that ActiveMQ is 
unable to get a lock on the filesystem.
    >>
    >>> On Jun 22, 2021, at 8:57 AM, Fabrice Triboix 
<fabrice.trib...@armedia.com> wrote:
    >>>
    >>> Hi Matt,
    >>>
    >>> I am running ActiveMQ as a Docker container, so I am positively certain 
that (1) there are no other ActiveMQ processes and (2) the "data" directory is 
empty at startup. Additionally, when I add back all the other configuration 
files (i.e. the files in the conf​ directory of the official tarball), this 
problem goes away.
    >>>
    >>> Cheers,
    >>>
    >>> Fabrice
    >


Reply via email to