There’s a few ways to go about this, but I’d probably start out with doing it
in the configure method of the RouteBuilder - something like the following
(note - I didn’t test this so I don’t even know if it compiles).
@Override
public void configure() throws Exception {
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("org.apache.derby.jdbc.EmbeddedDriver");
basicDataSource.setUrl("jdbc:derby:memory:orders;create=true");
basicDataSource.setUsername("");
basicDataSource.setPassword("");
SqlComponent sqlComponent = new SqlComponent();
sqlComponent.setDataSource(basicDataSource);
getContext().addComponent("my-sql", sqlComponent);
from()
...
}
HTH
> On Jul 30, 2018, at 9:45 AM, John F. Berry <[email protected]>
> wrote:
>
> Thanks Quinn for the helping hand.
>
> I've been looking for examples of how to declare the servername/instance
> name, username password to utilize a MS SQL endpoint. Looking at the Apache
> Camel: SQL Component page, it shows utilizing the declared object like
> "mydbconnection" that is the named DataSource option, and shows all on what
> you can throw through that connection... except seems to skip over how to
> specify connection criteria. It does reference the DataSource option as a
> pointer to look up in the "registry" but I don't know if that is an inherited
> existing entity it's talking about or the need to declare a new registry and
> import a form of camel registry or something. The only examples where I've
> seen servername, un/pw declared in an example was in a Spring one. I don't
> know if we want to "un-translate" a Spring example, but point me in the
> direction of where I should natively set these things in Java DSL. The above
> mentioned page even says "This component uses spring-jdbc behind the scenes
> for the actual SQL handling", so I figured that is why I cannot seem to get
> away from Spring.
> When I look at the Apache Camel: SQL Example(
> http://camel.apache.org/sql-example.html ) page, it talks about "In the
> camel-context.xml file in the src/main/resources/META-INF/spring folder we
> have the Spring XML file to setup and configure the database"
>
> I see connection parameters set like in this other example:
>
> <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
> destroy-method="close">
> < property name = "driverClassName" value =
> "org.apache.derby.jdbc.EmbeddedDriver" />
>
> < property name = "url" value = "jdbc:derby:memory:orders;create=true" />
>
> < property name = "username" value = "" />
>
> < property name = "password" value = "" />
>
> </bean>
>
>
> but not declared in the Java DSL, if that's even possible.. Perhaps
> .setheaders() ? but then.. what are the paramater names?
>
>
> Sorry.. I know it's a bit of a "thrashing" response...
>
>
>
> On Monday, July 30, 2018, 10:43:34 AM EDT, Quinn Stevenson
> <[email protected]> wrote:
>
>
>
>
>
> From my experience, I’ve always been able to to more with the Java DSL than
> with Spring. I think routes written using the Spring XML are easier to read
> than routes written the Java DSL, but that’s just me.
>
> If you could post you’re Spring XML that you’re trying to translate, I’m sure
> we can help with that.
>
>> On Jul 30, 2018, at 8:00 AM, John F. Berry <[email protected]>
>> wrote:
>>
>> I've been perusing ways to declare connection to a MS SQL server. There are
>> plenty of Spring examples.. but how about Java DSL? I have been attempting
>> to utilizing the JDBC endpoint provided though camel-sql.. but I cannot seem
>> to either find documentation of how to place a configuration file with an
>> unknown name in an unknown location in the project, or declare it in-line.
>> Been looking at setting it first in the "camel registry", but no luck so
>> far.
>> I did not include any code, since I have nothing functional or "in progress"
>> to show for my efforts. I'm not to the point I need to form any sort of SQL
>> statement yet, since I cannot establish a connection.It seems so simple, but
>> I cannot find how to simply declare server:port, un/pw without bringing a
>> Spring context into the mix. If that is needed to satisfy the camel vanilla
>> SQL endpoint needs, how do I tie that into the Java DSL route I've already
>> got going? I went the Java DSL route simply because some other endpoints
>> didn't have a straight forward Camel Spring solution to them. Is this mixed
>> environment normal? Is there really not a choice to keep a route "clean" in
>> one coding style or the other?
>> Thanks!