cancel
Showing results for 
Search instead for 
Did you mean: 

Datasource jdbc/__default cannot be injected

rosh
Participant
0 Kudos

Hi,

after reading http://help.sap.com/saphelp_nwpi71/helpdata/en/43/a52f2e63161bbfe10000000a1553f7/frameset.htm i took the example and put a simple sample bean on the server:


package org.test;

import javax.annotation.Resource;
import javax.ejb.Local;
import javax.ejb.Stateless;
import javax.sql.DataSource;

@Stateless
@Local(value=DSLocal.class)
public class DSBean implements DSLocal {
	
	// injects a data source object
	@Resource(name="jdbc/__default", type=DataSource.class)
	private DataSource dataSource;

	/* (non-Javadoc)
	 * @see org.test.DSLocal#getDS()
	 */
	/* (non-Javadoc)
	 * @see org.test.DSLocal#getDS()
	 */
	public DataSource getDS() {
		return dataSource;
	}

}

As far as I understand this should be everything needed to get the default datasource injected. As you might expect the server is following another approach:

System exception  
[EXCEPTION]
 javax.ejb.EJBException: Exception in getMethodReady() for stateless bean sap.com/DBEar*annotation|DSEjb.jar*annotation|DSBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance org.test.DSBean@10d7cbc0 for bean sap.com/DBEar*annotation|DSEjb.jar*annotation|DSBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field dataSource of instance org.test.DSBean@10d7cbc0 failed. Could not get a value to be injected from the factory.
com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance org.test.DSBean@10d7cbc0 for bean sap.com/DBEar*annotation|DSEjb.jar*annotation|DSBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field dataSource of instance org.test.DSBean@10d7cbc0 failed. Could not get a value to be injected from the factory.
at com.sap.engine.services.ejb3.util.pool.ContainerPool.translate(ContainerPool.java:288)
at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:378)
at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.ensureNotEmpty(ContainerPoolImpl.java:342)
at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.pop(ContainerPoolImpl.java:309)
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.getMethodReady(StatelessInstanceLifecycleManager.java:64)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:14)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at $Proxy2846.getDS(Unknown Source)
at org.test.DSServlet.doGet(DSServlet.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:309)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
Caused by: javax.ejb.EJBException: Cannot perform injection over bean instance org.test.DSBean@10d7cbc0 for bean sap.com/DBEar*annotation|DSEjb.jar*annotation|DSBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field dataSource of instance org.test.DSBean@10d7cbc0 failed. Could not get a value to be injected from the factory.
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection.java:25)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_EJBContext30DependencyInjection.invoke(Interceptors_EJBContext30DependencyInjection.java:11)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ApplicationInstancesCreator.invoke(Interceptors_ApplicationInstancesCreator.java:53)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_NewBeanContext.invoke(Interceptors_NewBeanContext.java:17)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startCallback(DefaultInvocationChainsManager.java:147)
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.makeExist(StatelessInstanceLifecycleManager.java:108)
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.access$000(StatelessInstanceLifecycleManager.java:23)
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager$PoolUserImpl.createObject(StatelessInstanceLifecycleManager.java:34)
at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:373)
... 47 more
Caused by: com.sap.engine.lib.injection.InjectionException: Injection on field dataSource of instance org.test.DSBean@10d7cbc0 failed. Could not get a value to be injected from the factory.
at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:115)
at com.sap.engine.lib.injection.InjectionMatrix.inject(InjectionMatrix.java:45)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection.java:22)
... 63 more
Caused by: com.sap.engine.services.connector.exceptions.BaseResourceException: ConnectionFactory "jdbc/__default" does not exist. Possible reasons: the adapter in which ConnectionFactory "jdbc/__default" is defined is not deployed or not started.
at com.sap.engine.services.connector.ResourceObjectFactory.getObjectInstance(ResourceObjectFactory.java:244)
at com.sap.engine.lib.injection.ReferenceObjectFactory.getObject(ReferenceObjectFactory.java:65)
at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:113)
... 65 more
javax.ejb.EJBException: Exception in getMethodReady() for stateless bean sap.com/DBEar*annotation|DSEjb.jar*annotation|DSBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance org.test.DSBean@10d7cbc0 for bean sap.com/DBEar*annotation|DSEjb.jar*annotation|DSBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field dataSource of instance org.test.DSBean@10d7cbc0 failed. Could not get a value to be injected from the factory.
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.getMethodReady(StatelessInstanceLifecycleManager.java:66)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:14)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
at $Proxy2846.getDS(Unknown Source)
at org.test.DSServlet.doGet(DSServlet.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)
at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)
at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)
at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:309)
at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)
Caused by: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance org.test.DSBean@10d7cbc0 for bean sap.com/DBEar*annotation|DSEjb.jar*annotation|DSBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field dataSource of instance org.test.DSBean@10d7cbc0 failed. Could not get a value to be injected from the factory.
at com.sap.engine.services.ejb3.util.pool.ContainerPool.translate(ContainerPool.java:288)
at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:378)
at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.ensureNotEmpty(ContainerPoolImpl.java:342)
at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.pop(ContainerPoolImpl.java:309)
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.getMethodReady(StatelessInstanceLifecycleManager.java:64)
... 44 more
Caused by: javax.ejb.EJBException: Cannot perform injection over bean instance org.test.DSBean@10d7cbc0 for bean sap.com/DBEar*annotation|DSEjb.jar*annotation|DSBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field dataSource of instance org.test.DSBean@10d7cbc0 failed. Could not get a value to be injected from the factory.
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection.java:25)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_EJBContext30DependencyInjection.invoke(Interceptors_EJBContext30DependencyInjection.java:11)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ApplicationInstancesCreator.invoke(Interceptors_ApplicationInstancesCreator.java:53)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_NewBeanContext.invoke(Interceptors_NewBeanContext.java:17)
at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startCallback(DefaultInvocationChainsManager.java:147)
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.makeExist(StatelessInstanceLifecycleManager.java:108)
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.access$000(StatelessInstanceLifecycleManager.java:23)
at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager$PoolUserImpl.createObject(StatelessInstanceLifecycleManager.java:34)
at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:373)
... 47 more
Caused by: com.sap.engine.lib.injection.InjectionException: Injection on field dataSource of instance org.test.DSBean@10d7cbc0 failed. Could not get a value to be injected from the factory.
at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:115)
at com.sap.engine.lib.injection.InjectionMatrix.inject(InjectionMatrix.java:45)
at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection.java:22)
... 63 more
Caused by: com.sap.engine.services.connector.exceptions.BaseResourceException: ConnectionFactory "jdbc/__default" does not exist. Possible reasons: the adapter in which ConnectionFactory "jdbc/__default" is defined is not deployed or not started.
at com.sap.engine.services.connector.ResourceObjectFactory.getObjectInstance(ResourceObjectFactory.java:244)
at com.sap.engine.lib.injection.ReferenceObjectFactory.getObject(ReferenceObjectFactory.java:65)
at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:113)
... 65 more

Is my server not configured correctly or do I have to mess with ejb-jar.xml and datasource-aliases.xml to get the datasource in a nice JEE-way?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

If you go to http://<host>:<port>/nwa

Configuration Management -> Infrastructure-> Application Resources

You can see the datasource "jdbc/__default" ?

Best regards

Answers (6)

Answers (6)

rosh
Participant
0 Kudos

Hello Vladimir,

thanks for your answer.

Putting

@Resource(name="java:comp/env/ALIAS", type=DataSource.class)
	private DataSource dataSource;

in the bean and

<aliases>
    <data-source-name>${com.sap.datasource.default}</data-source-name>
    <alias>java:comp/env/ALIAS</alias>
  </aliases>

in data-source-aliases does the trick.

I thought I had already tried that.

rosh
Participant
0 Kudos

Thank's a lot. I've used some more google and mostly saw jdbc/__default in glassfish-references.

Maybe I get the help.sap.com text wrong and it is just meant as a place holder. Maybe it's only defined on glassfish.

Related: getting the SAPSYSTEMNAME-Property and concatenating doesn't work: "The value for annotation attribute Resource.name must be a constant expression" - spoilsports

Vlado
Advisor
Advisor
0 Kudos

Hi Robert,

Right, that sample coding on the help.sap.com page is meant just as an example. As you have noticed, currently the only default datasource is the SAP system datasource: SAP<SID>DB. However, this might (and will) have different names on different systems. Therefore, the recommended approach is to create an alias with your application as described [here|http://help.sap.com/saphelp_nwce10/helpdata/en/45/c82cd460a42e96e10000000a155369/frameset.htm] and use the alias name in the @Resource annotation (or resource-ref if injection is not appropriate).

HTH!

\-- Vladimir

rosh
Participant
0 Kudos

I've toyed a bit with different combinations of name and mapped name, upper and lower case, but the annotation-alias is not replaced by the datasource-aliases-setting. The lookup will always be for jdbc/__default or whatever I enter. \*sigh\* For this to work I think I'd have to go for JNDI & a resource-ref which then could be mapped.

Former Member
0 Kudos

Hi,

I think are you right about this. I will try to do it, if i did, i say to you.

Best Regards

rosh
Participant
0 Kudos

Sorry, the correct link should be [http://help.sap.com/saphelp_nwpi71/helpdata/en/44/bf6e9344751eaae10000000a1553f6/frameset.htm].

As the tables are defined in a dictionary project and I'd like the app to run out of the box it makes sense to have a name that points to the system-db.

In 1.4 one would create a datasource-aliases.xml with a magic string {com.sap.something} as datasource which would then be mapped to the default ds.

Former Member
0 Kudos

Hi,

To do it, you can continue doing in the same way, but i haven't sure if the @Resource will inject correctly with ALIAS_NAME, but i hope yes.

Regards

rosh
Participant
0 Kudos

You're right, this will work. But I don't want to have to create this alias on every system I deploy to. Do you think the help.sap.com example is assuming this to be done an each installation without explicitly stating?

Former Member
0 Kudos

Hi,

Your application will always use the Default DataSource ? To keep more clear, i always prefer to create a alias that identify the application that will use the connection.

Can you put the correct link to help.sap.com, the link of first post isn't about this issue.

Best regards

Former Member
0 Kudos

Hi,

You can try to use jdbc/SAP<SID>DB JNDI name, its point to default.

Or you can work with datasource alias, like is showed on the link bellow.

http://help.sap.com/saphelp_nwce10/helpdata/en/45/c82cd460a42e96e10000000a155369/content.htm

In this case you can try to use o Resource the name of your alias.

Best regards

rosh
Participant
0 Kudos

Hello Isaias, thanks for your answer.

It's not there. I can only see one Driver "SYSTEM_DRIVER", one System Datasource "SAP<SID>DB" and a ton of aliases.

Should jdbc/__default be listed there in a standard installation (it's a PI-system)?

Former Member
0 Kudos

Hi,

I suggest you to create a Alias to SYSTEM DATASOURCE and use then on @Resource.

Best regards