type=page
status=published
title=create-connector-resource
next=create-connector-security-map.html
prev=create-connector-connection-pool.html
~~~~~~
create-connector-resource
=========================

[[create-connector-resource-1]][[GSRFM00019]][[create-connector-resource]]

create-connector-resource
-------------------------

registers the connector resource with the specified JNDI name

[[sthref166]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] create-connector-resource [--help]
--poolname connectorConnectionPoolName
[--enabled={true|false}]
[--description description] 
[--objecttype ovjecttype]
[--property (name=value)[:name=value]*]
[--target target]
jndi_name
----

[[sthref167]]

Description

The `create-connector-resource` subcommand registers the connector
resource with the specified JNDI name.

This subcommand is supported in remote mode only.

[[sthref168]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--poolname`::
  The name of the connection pool. When two or more resource elements
  point to the same connection pool element, they use the same pool
  connections at runtime.
`--enabled`::
  This option determines whether the resource is enabled at runtime. The
  default value is true.
`--objecttype`::
  Defines the type of the connector resource. Default is user. Allowed
  values are: +
  `system-all`;;
    A system resource for all server instances and the domain
    administration server (DAS).
  `system-admin`;;
    A system resource only for the DAS.
  `system-instance`;;
    A system resource for all server instances only.
  `user`;;
    A user resource.
`--description`::
  Text providing details about the connector resource.
`--property`::
  Optional attribute name value pairs for configuring the resource.
`--target`::
  This option specifies the ending location of the connector resources.
  Valid targets are: +
  `server`;;
    Creates the connector resource in the default server instance. This
    is the default value.
  `domain`;;
    Creates the connector resource in the domain.
  cluster_name;;
    Creates the connector resource in every server instance in the
    cluster.
  instance_name;;
    Creates the connector resource in the specified server instance. +

[width="100%",cols="100%",]
|=======================================================================
a|
Note:

The resource is always created for the domain as a whole, but the
`resource-ref` for the resource is only created for the specified
`--target`. This means that although the resource is defined at the
domain level, it is only available at the specified target level. Use
the `create-resource-ref` subcommand to refer to the resource in
multiple targets if needed.

|=======================================================================


[[sthref169]]

Operands

jndi_name::
  The JNDI name of this connector resource.

[[sthref170]]

Examples

[[GSRFM465]][[sthref171]]

Example 1   Creating a Connector Resource

This example creates a connector resource named `jms/qConnFactory`.

[source,oac_no_warn]
----
asadmin> create-connector-resource --poolname jms/qConnPool 
--description "sample connector resource" jms/qConnFactory
Command create-connector-resource executed successfully
----

[[GSRFM466]][[sthref172]]

Example 2   Using the create-connector-resource subcommand

This example shows the usage of this subcommand.

[source,oac_no_warn]
----
asadmin> create-connector-resource --target server --poolname jms/qConnPool 
--description "sample connector resource" jms/qConnFactory
Command create-connector-resource executed successfully
----

Where `jms/qConnFactory` is the sample connector resource that is
created.

[[sthref173]]

Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref174]]

See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:delete-connector-resource.html#delete-connector-resource-1[`delete-connector-resource`(1)],
link:list-connector-resources.html#list-connector-resources-1[`list-connector-resources`(1)],
link:create-resource-ref.html#create-resource-ref-1[`create-resource-ref`(1)]


