Hello,

I am getting the below exception while doing JNDI lookup for the Datasource
defined in tomee.xml

javax.naming.NameNotFoundException: Name [myJDBC_dataSource] is not bound in
this Context. Unable to find [myJDBC_dataSource].
        at org.apache.naming.NamingContext.lookup(NamingContext.java:817)
        at org.apache.naming.NamingContext.lookup(NamingContext.java:174)
        at
org.apache.naming.SelectorContext.lookup(SelectorContext.java:163)
        at javax.naming.InitialContext.lookup(InitialContext.java:417)
        at
com.mycompany.jms.service.MessageListnerServiceImpl.getConnection(MessageListnerServiceImpl.java:53)

I have defined Datasource in tomee.xml as

<Resource id="myJDBC_dataSource" type="DataSource">
                JdbcDriver   org.postgresql.Driver
                JdbcUrl  jdbc:postgresql://localhost:5432/MyApp
                UserName     myUser
                Password     myPassword
                defaultAutoCommit = false
                jtaManaged = true
                maxActive = 20
                maxIdle = 5
                maxWaitTime = 10000ms
                minEvictableIdleTime = 30min
                minIdle = 0
                numTestsPerEvictionRun = 3
                testOnBorrow = true
                testOnReturn = true
                testWhileIdle = true
                timeBetweenEvictionRuns = 10min
                validationQuery = select 1
                LogSql = false
        </Resource>

Here is my MessageListener class 

@MessageDriven(
                name = "MyJMSQueue",
                mappedName = "MyJMSQueue",
                                messageListenerInterface=MessageListener.class,
                                activationConfig = 
{@ActivationConfigProperty(propertyName =
"destinationType",propertyValue = "javax.jms.Queue"),
                                                                        
@ActivationConfigProperty(propertyName =
"acknowledgeMode",propertyValue = "Auto-acknowledge"),
                                                                        
@ActivationConfigProperty(propertyName =
"maxSessions",propertyValue = "1")})
                                
public class MessageListnerServiceImpl implements MessageListener {

        @Override
        public void onMessage(Message message) {
                ObjectMessage objectMessage = (ObjectMessage) message;
        String messages = null;
        try {
                Connection conn = getConnection("myJDBC_dataSource");
                System.out.println("########################### "+conn);
                messages = (String) objectMessage.getObject();
                System.out.println("MessageListnerServiceImpl messages " +
messages);
                
        } catch (JMSException e) {
            e.printStackTrace();
        }
        catch (Exception e) {
                        e.printStackTrace();
                }
        }

        public static Connection getConnection(String datasourceName) throws
Exception{
        DataSource dataSource=null;
        try {
            dataSource = (DataSource)new
InitialContext().lookup(datasourceName);    
        }
        catch (NamingException e){
            throw new Exception("getConnection - NamingException when lookup
dataSource '"+datasourceName+"'",e);
        }
        try {
            Connection myConnection = dataSource.getConnection();
            System.out.println("getConnection - DatasourceConnection
connection '"+myConnection+"' is retrieved from DataSource
'"+datasourceName+"'");
            return myConnection;
        }
        catch (SQLException e){
            throw new Exception("getConnection - SQLException when try to
getConnection from dataSource '"+datasourceName+"'",e);
        }    
    }
}

I have tried to look up with java:comp/env/myJDBC_dataSource. But no
success.

How do I solve the issue?



--
View this message in context: 
http://tomee-openejb.979440.n4.nabble.com/Getting-javax-naming-NameNotFoundException-Name-myJDBC-dataSource-is-not-bound-in-this-Context-Unabl-tp4680583.html
Sent from the TomEE Users mailing list archive at Nabble.com.

Reply via email to