You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by alias <52...@qq.com> on 2017/02/08 02:40:57 UTC

回复:Aw: 回复:Solr 5.5.0 Configure global jndi DS for dataimport

I just tested, the success of the need to amend two points
1、the jetty.xml <Ref id = "Server" /> comment out
2、Jndi's name is this: <Arg>java:comp/env/jdbc/mysqlds</Arg> 
The complete steps are as follows:


jetty.xml
<New id = "dataSource" class = "org.eclipse.jetty.plus.jndi.Resource">
         <Arg> </ Arg> <! - is Configure node id value ->
         <Arg>java:comp/env/jdbc/mysqlds</Arg>
         <Arg>
             <New class = "com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource">
                 <Set name = "url">jdbc:mysql://localhost:3306/ka_ka</ Set>
                 <Set name = "User">root</ Set>
                 <Set name = "Password">123456</ Set>
             </ New>
         </ Arg>
     </ New>


db-data-config.xml
<DataConfig>
     <DataSource jndiName="java:comp/env/jdbc/mysqlds" type="JdbcDataSource" />
     <Document>
              
    </ Document>
</ DataConfig>


I wish you success





------------------ 原始邮件 ------------------
发件人: "Per Newgro";<pe...@gmx.ch>;
发送时间: 2017年2月7日(星期二) 晚上8:44
收件人: "solr-user"<so...@lucene.apache.org>; 

主题: Aw: 回复:Solr 5.5.0 Configure global jndi DS for dataimport



Maybe someone is interested in solution:
<dataSource jndiName="java:comp/env/jdbc/myds" type="JdbcDataSource"/>
AND
<Arg>java:comp/env/jdbc/myds</Arg>

Both need the complete lookup name.

Per


> Gesendet: Dienstag, 07. Februar 2017 um 10:29 Uhr
> Von: "Per Newgro" <pe...@gmx.ch>
> An: solr-user@lucene.apache.org
> Betreff: Aw: 回复:Solr 5.5.0 Configure global jndi DS for dataimport
>
> Changed db-data-config.xml
>     <dataSource jndiName="java:comp/env/jdbc/myds" type="JdbcDataSource"/>
> 
> This leads to
> Caused by: javax.naming.NameNotFoundException; remaining name 'env/jdbc/myds'
>         at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:538)
>         at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:569)
>         at org.eclipse.jetty.jndi.NamingContext.lookup(NamingContext.java:584)
>         at org.eclipse.jetty.jndi.java.javaRootURLContext.lookup(javaRootURLContext.java:108)
>         at javax.naming.InitialContext.lookup(InitialContext.java:417)
>         at org.apache.solr.handler.dataimport.JdbcDataSource$1.getFromJndi(JdbcDataSource.java:250)
>         at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:182)
>         at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:172)
>         at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:463)
>         at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:309)
>         ... 39 more
> 
> Do i need to install other libraries? Do i need to enable jndi?
> Can i configure something useful for logging?
> 
> Thanks for your support
> Per
> 
> > Gesendet: Dienstag, 07. Februar 2017 um 10:02 Uhr
> > Von: alias <52...@qq.com>
> > An: solr-user <so...@lucene.apache.org>
> > Betreff: 回复:Solr 5.5.0 Configure global jndi DS for dataimport
> >
> > jndiName="java:comp/env/jdbc/myds"
> > 
> > 
> > ------------------ 原始邮件 ------------------
> > 发件人: "Per Newgro";<pe...@gmx.ch>;
> > 发送时间: 2017年2月7日(星期二) 下午4:47
> > 收件人: "solr-user-group"<so...@lucene.apache.org>; 
> > 
> > 主题: Solr 5.5.0 Configure global jndi DS for dataimport
> > 
> > 
> > 
> > Hello,
> > 
> > I would like to configure a JNDI datasource for use in dataimport. From the documentation it shall be possible and easy.
> > 
> > My environment:
> > Debian
> > OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2~bpo8+1-b14)
> > Solr 5.5.0 downloaded and installed as service in /opt/solr
> > Installed core in /var/lib/solr/data/collection1
> > 
> > Solr is running and core can be managed.
> > 
> > Put into /opt/solr/server/lib
> > jetty-jndi-9.2.13.v20150730.jar
> > jetty-plus-9.2.13.v20150730.jar
> > Put into /opt/solr/server/lib/ext
> > sqljdbc4-4.0.jar
> > 
> > /opt/solr/server/etc/jetty.xml
> > ...
> >     <New id="dataSource" class="org.eclipse.jetty.plus.jndi.Resource">
> >         <Arg><Ref id="Server" /></Arg>
> >         <Arg>jdbc/myds</Arg>
> >         <Arg>
> >             <New class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
> >                 <Set name="URL">jdbc:sqlserver://<ip>;databaseName=dbname;</Set>
> >                 <Set name="User">user</Set>
> >                 <Set name="Password">password</Set>
> >             </New>
> >         </Arg>
> >     </New>
> > ...
> > 
> > /var/lib/solr/data/collection1/conf/db-data-config.xml
> > <dataConfig>
> >     <dataSource jndiName="jdbc/myds" type="JdbcDataSource"/>
> >     <document>
> >         <entity
> >             name="bodyshop"
> >             query="SELECT b.id as ID,
> >                           customer_number as CUSTOMER_NUMBER,
> >                           customer_name as CUSTOMER_NAME
> >                     FROM  schema.body_shops b
> >                    WHERE  '${dataimporter.request.clean}' != 'false'
> >                       OR  b.last_modified > '${dataimporter.last_index_time}'">
> > ...
> > 
> > But all i get is an exception
> > Caused by: javax.naming.NameNotFoundException; remaining name 'jdbc/myds'
> >         at org.eclipse.jetty.jndi.local.localContextRoot.lookup(localContextRoot.java:487)
> >         at org.eclipse.jetty.jndi.local.localContextRoot.lookup(localContextRoot.java:533)
> >         at javax.naming.InitialContext.lookup(InitialContext.java:417)
> >         at org.apache.solr.handler.dataimport.JdbcDataSource$1.getFromJndi(JdbcDataSource.java:250)
> >         at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:182)
> >         at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:172)
> >         at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:463)
> >         at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:309)
> >         ... 39 more
> > 
> > I've searched across the web for a solution but all i found did not work.
> > It would be great if someone could help me out.
> > 
> > Thanks
> > Per
>