Jac*_*oen 8 hibernate jndi appserver
在我目前学习hibernate并将其设置为使用appserver的连接池的冒险中,大多数示例和资源都指向了将SessionFactory绑定到进程中appserver中的JNDI资源的方向.
我想知道这有什么好处?由于您可以访问连接池而不执行此操作.
gus*_*afc 10
您将JNDI用于任何事情的原因与我说的相同 - 将配置从应用程序中移出到部署环境中.
使用JNDI,你基本上说"这个应用程序需要一个SessionFactory;它的名字应该是X",只要应用程序服务器SessionFactory配置了一个被叫X ,你就会感到高兴.这种外化有几个吸引人的好处:
您可以在不同的计算机上使用完全不同的配置(生产和QA使用Oracle,开发人员使用HSQL,......).
您不需要让构建过程了解配置(不再需要ant war_for_qa或使用Maven配置文件).
您并不想将配置检查到版本控制中,因此每个曾经(或将要拥有!)访问存储库的临时工,实习生,顾问或前雇员都不会知道您的实时数据库密码.
您的安装/配置说明将不包括"配置数据库登录,编辑WAR文件中的文件foo.properties"等项目,这将不可避免地导致在生产服务器上最糟糕的时刻覆盖配置,因为系统管理员是谁整个周末都在工作,因为咖啡在周日下午用完了,所以部署了一个未经编辑的WAR.
JNDI恰好是在Java中进行外部化的"标准"方式,这意味着新的开发人员/管理员不需要两天的培训来学习你自己的家庭酿造配置系统的怪癖,这真的很聪明但有这个奇怪的错误,没有人想钻研,因为它真的很奇怪,任何它有一个非常简单的解决方法,&c.
相关: JNDI的目的是什么?
| 归档时间: |
|
| 查看次数: |
2176 次 |
| 最近记录: |