Only way you can try to achieve this is the methode: JpaPersistModule.setProperties() The properties passed in will be used to create the entity manager factory (see JpaPersistService.start())

Maybe you can overwrite the URL in the properties you pass.



On 15.02.2018 12:05, Evan Ruff wrote:
I'd really like to be able to define the location of the DB, as multiple services will be accessing it.

I'm okay with moving away from the persistence.xml file and rolling the configuration in code, but I'm not sure where to do that while still using JpaPersistModule. Has anyone tried a declarative approach? Any examples anywhere?

E

On Wednesday, February 14, 2018 at 6:13:43 PM UTC-5, scl wrote:

    Maybe you can make your path relative to the user directory as
    described here:
    http://www.h2database.com/html/faq.html#database_files
    <http://www.h2database.com/html/faq.html#database_files>


    Am 14. Februar 2018 21:06:34 MEZ schrieb Evan Ruff
    <evan...@gmail.com <javascript:>>:

        Hey guys,

        So I'm actually just letting Guice Persist pull it straight
        out of META-INF/persistence.xml file.

        I'm wondering where I can either change the URL or set it
        explicitly, while still using Guice Persist.

        thanks!

        E

        On Wednesday, February 14, 2018 at 10:58:11 AM UTC-5, Sondre
        Bjornebekk wrote:

            If you always want to use h2, you could just simply build
            the string using
            
https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getenv--
            
<https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getenv-->?

            If you wanted to inject different JPA providers, you could
            certainly use Guice for that (since you posted here) - I
            have a HibernateSessionFactory that provides a session per
            request like this:

            @Provides @RequestScoped private SessionprovideSession() {



            And then for my jUnit tests I have:

            @Provides @Singleton private SessionprovideSession() {


            in a

            public class TestGuiceModuleextends AbstractModule


            Would that fit your use case?

            Cheers,

            -S-

            On Wednesday, February 14, 2018 at 10:38:16 AM UTC, Evan
            Ruff wrote:

                Hey guys,

                I've got what I think is a pretty straightforward task
                but I'm having a little issue figuring out where to
                attach in my code.

                I've got an embedded H2 database being used in an
                installed application to manage state of some objects.
                I'm using Hibernate as my JPA implementation and
                everything is working great. The one issue I have is
                that the path of the database file is set in my URL as:

                
jdbc:h2:file:./data/application_db;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;

                which changes depending on how the application is
                executed. I'd like to have the database file be
                written in a location set by an environment variable,
                so that I'd have:

                
jdbc:h2:file:*$APP_DB_PATH*/data/application_db;DB_CLOSE_ON_EXIT=FALSE;AUTO_SERVER=TRUE;

                I've tried several different forms and it doesn't seem
                to be taking.

                Has anyone encountered this and could give me a
                pointer on how to implement?

                Thanks!

                E

--
You received this message because you are subscribed to the Google Groups "google-guice" group. To unsubscribe from this group and stop receiving emails from it, send an email to google-guice+unsubscr...@googlegroups.com <mailto:google-guice+unsubscr...@googlegroups.com>. To post to this group, send email to google-guice@googlegroups.com <mailto:google-guice@googlegroups.com>.
Visit this group at https://groups.google.com/group/google-guice.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-guice/359f8de0-3a51-4ca0-8209-50252d136788%40googlegroups.com <https://groups.google.com/d/msgid/google-guice/359f8de0-3a51-4ca0-8209-50252d136788%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-guice+unsubscr...@googlegroups.com.
To post to this group, send email to google-guice@googlegroups.com.
Visit this group at https://groups.google.com/group/google-guice.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-guice/32d4dd9d-c41e-1ca1-9333-635c5ab5916f%40gmx.ch.
For more options, visit https://groups.google.com/d/optout.

Reply via email to