Clean Code that Works.

Neo4j를 회사 서버에 설치해서 사용중인데 집에서도 공부할때 계속 사용해보고 싶었다.

Grails에서 기본적으로 제공해주는 environments 는 development, product, test 이렇게 지원을 해주는데, 나는 집에서 쓰고 싶으니까 별도로 값(home)을 지정해서 사용하고 싶었다. 


Grails 에서 제공하는 Environments 는 여기(http://www.grails.org/Environments)에 보면 자세히 설명이 되어 있고, 나는 home으로 사용하고 싶으니까 서버를 실행시에 아래와 같이 입력하면 된다.

grails -Dgrails.env=home run-app

그럼 이 환경을 사용하는 변수들을 설정해 주어야 하는데..

아래와 같이 설정하면된다.

environments {

home {

dataSource {

dbCreate = "create-drop"

url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"

}

grails {

neo4j {

type = "embedded"

  location = "/var/neo4j"

}

}

}

development {

dataSource {

dbCreate = "create-drop" // one of 'create', 'create-drop', 'update', 'validate', ''

url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"

}  

grails {

neo4j {

type = "rest"

  location = "http://100.0.0.1:7474/db/data/"

}

}

}

}


기본으로 run-app를 하면 development 로 올라가고, 위에 처럼 별도로 home으로 설정해주면 별도로 설정한 값을 가지고 실행된다. 

neo4j가 embedded로 설정되면 설치된 neo4j 플러그인이 자동으로 neo4j를 실행시켜 주므로 따로 설치할 필요는 없다(h2 db 처럼)

neo4j 설정은 아래를 참조.

http://springsource.github.com/grails-data-mapping/neo4j/manual/guide/gettingStarted.html#usingNeo4jStandalone