Я устраняю проблему Mapper и сталкиваюсь с проблемой, пытающейся использовать класс Mapper внутри консоли Scala / Lift.Наши источники данных MetaMappers настроены через ConnectionIdentifier, который указывает на источник данных JDBC, настроенный в JNDI.Это прекрасно работает при начальной загрузке через Jetty.
При загрузке консоли и запуске (new bootstrap.liftweb.Boot).boot
для инициализации, Schemifier.schemify
не удается настроить JNDI.
scala> (new bootstrap.liftweb.Boot).boot
java.lang.NullPointerException: Looking for Connection Identifier ConnectionIdentifier(jdbc/svcHub) but failed to find either a JNDI data source with the name jdbc/svcHub or a lift connection manager with the correct name
at net.liftweb.mapper.DB$$anonfun$7$$anonfun$apply$12.apply(DB.scala:141)
at net.liftweb.mapper.DB$$anonfun$7$$anonfun$apply$12.apply(DB.scala:141)
at net.liftweb.common.EmptyBox.openOr(Box.scala:465)
at net.liftweb.mapper.DB$$anonfun$7.apply(DB.scala:140)
at net.liftweb.mapper.DB$$anonfun$7.apply(DB.scala:140)
at net.liftweb.common.EmptyBox.openOr(Box.scala:465)
at net.liftweb.mapper.DB$.newConnection(DB.scala:134)
at net.liftweb.mapper.DB$.getConnection(DB.scala:230)
at net.liftweb.mapper.DB$.use(DB.scala:581)
at net.liftweb.mapper.Schemifier$.schemify(Sche...
По сути, я хотел бы иметь полную функциональность MetaMapper из консоли.Мой вопрос: каков наилучший способ загрузить приложение Lift с консоли так, чтобы зависимости на основе JNDI могли также выполняться вне веб-контейнера с поддержкой JNDI?