type=page
status=published
title=create-custom-resource
next=create-domain.html
prev=create-context-service.html
~~~~~~
create-custom-resource
======================

[[create-custom-resource-1]][[GSRFM00022]][[create-custom-resource]]

create-custom-resource
----------------------

creates a custom resource

[[sthref200]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] create-custom-resource [--help] 
--restype type --factoryclass classname 
[--enabled={true|false}] [--description text] 
[--property (name=value)[:name=value]*] jndi-name 
[--target target]
----

[[sthref201]]

Description

The `create-custom-resource` subcommand creates a custom resource. A
custom resource specifies a custom server-wide resource object factory
that implements the `javax.naming.spi.ObjectFactory` interface.

This subcommand is supported in remote mode only.

[[sthref202]]

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.
`--target`::
  The target on which the custom resource you are creating will be
  available. Valid values are: +
  `server`;;
    The resource will be available on the default server instance and
    all domains hosted on the instance. This is the default value.
  `domain`;;
    The resource will be available on the specified domain only.
  cluster_name;;
    The resource will be available on every server instance in the
    cluster.
  instance_name;;
    The resource will be available on the specified server instance
    only. +

[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.

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

`--restype`::
  The type of custom resource to be created. Specify a fully qualified
  type definition, for example `javax.naming.spi.ObjectFactory`. The
  resource type definition follows the format, xxx`.`xxx.
`--factoryclass`::
  Factory class name for the custom resource. This class implements the
  `javax.naming.spi.ObjectFactory` interface.
`--enabled`::
  Determines whether the custom resource is enable at runtime. Default
  is true.
`--description`::
  Text providing details about the custom resource. This description is
  a string value and can include a maximum of 250 characters.
`--property`::
  Optional attribute name/value pairs for configuring the resource.

[[sthref203]]

Operands

jndi-name::
  The JNDI name of this resource.

[[sthref204]]

Examples

[[GSRFM470]][[sthref205]]

Example 1   Creating a Custom Resource

This example creates a custom resource.

[source,oac_no_warn]
----
asadmin> create-custom-resource --restype topic 
--factoryclass com.imq.topic mycustomresource
Command create-custom-resource executed successfully.
----

[[sthref206]]

Exit Status

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

[[sthref207]]

See Also

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

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


