Thursday, December 6, 2012

Multiple environment blocks in Grails config files

As your Grails app grows, so will your config file. At some stage you might decide to make it all neat and tidy - maybe split it out in to multiple Config files. In this process you might find yourself (quite naturally) calling the environment closure multiple times. Take this example Config.groovy:

environments {
  development {
    theme = 'funky'
  }
}
....
// Lastly add external configs 
environments {
  production {
    grails.config.locations  << "file:$userHome/.cfg/app-prod.groovy"
  }
}

In the above example, when you try access grailsApplication.config.theme you will not see the expected result (funky). The reason is that the second environments block has overwritten the first one. This is a known "bug" in the Groovy ConfigSlurper. There is an active Jira and even patch submitted but it might be a while before that fix gets in.

In the meantime a workaround can be to put all your app specific configuration within the grails config. So in the above example you would change your Config.groovy to look something like:

environments {
  development {
    grails.app.theme = 'funky'
  }
}
....
// Lastly add external configs 
environments {
  production {
    grails.config.locations  << "file:$userHome/.cfg/app-prod.groovy"
  }
}
Now the configured theme can be referenced as grailsApplication.config.grails.app.theme

1 comment:

  1. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói
    lý thuyết trò chơi trong kinh tế học
    đức phật và nàng audio
    hồ sơ mật dinh độc lập audio
    đừng hoang tưởng về biển lớn ebook
    chiến thắng trò chơi cuộc sống ebook
    bước nhảy lượng tử
    ngồi khóc trên cây audio
    truy tìm ký ức audio
    mặt dày tâm đen audio
    thế giới như tôi thấy ebook

    “Ồ, vậy chẳng phải chỉ còn 2 tháng thôi sao?” Lưu Phong khuôn mặt lộ ra vẻ tươi cười. Ước gì ngày nào cũng có tin tốt lành như thế này.
    “Phu quân, chàng trả lời cho thiếp nghe. Nếu thành thân xong thì chàng định xử trí nha hoàn của chàng như thế nào?” Ân Tố Tố đột nhiên hỏi tới vấn đề khiến cho hắn thật đau đầu. Công tâm mà nói thì hắn đối với Liễu Thanh Nghi cũng không muốn rời bỏ nàng. Nhưng nếu như vậy thì lại không công bằng với Ân Tố Tố. Mặc dù thời đại này nam nhân tam thê tứ thiếp là chuyện thường tình nhung trong tình yêu thì không nữ nhân nào muốn chia sẻ tình cảm của mình cho người khác cả. Lưu Phong biết chắc Ân Tố Tố cũng sẽ không phản đối quyết định của mình, có điều nàng sẽ không

    Phía bắc ngoại thành, tại một nơi vắng vẻ, có một tòa trang viên biệt lập u nhã. Tòa trang viên này diện tích rất lớn. Ngoài trừ một cái sân rất lớn còn có một đại hoa viên xinh đẹp. Bố cục hoa viên được sắp xếp trang nghiêm hùng vĩ. Từ hành lang phòng ốc, đình viện đều tinh xảo, khéo léo vượt xa bình thường.

    Ngay cả cánh cửa của trang viện cũng rất hoa lệ. Phía trên đại môn là một tấm bảng dày, lấp lóe kim quang nhũ vàng nổi bật lên bốn chữ - ‘Thánh Môn Chi Gia’. Chữ viết từ hình dáng đến khí lực đều có đủ. Ắt hẳn là do một đại hành gia viết lên.

    Lúc này đã là ban đêm thế nhưng tại đại sảnh của Thánh Môn Chi Gia vẫn rất huy hoàng lộng lẫy. Bốn phía tường đều điểm xuyến các viên dạ minh châu lớn bằng nắm tay chiếu sáng. Thực là khí sắc hào hoa quý phái.

    Trong đại sảnh có hai hàng thị nữ đứng thẳng, làm ấm áp thêm gian đại sảnh. Ngồi trên ghế cao nhất tại đại sảnh chính là một nữ nhân che mặt bằng khăn mỏng. Nhìn thân hình mà xét đoán thì có lẽ người này vẫn còn trẻ tuổi.

    ReplyDelete