# ForeignJMSConnectionFactoryMBean

Overview | Related MBeans | Attributes | Operations

## Overview

This class represents a JMS connection factory that resides on another server, and is accessed via JNDI. A remote connection factory can be used to refer to another instance of WebLogic JMS running in a different cluster or server, or a foreign JMS provider, as long as that provider supports JNDI. This MBean will always be a sub-element of the ForeignJMSServerMBean.

Deprecated. 9.0.0.0 Replaced by the ForeignConnectionFactoryBean type in the new JMS module.

Fully Qualified Interface Name | If you use the `getMBeanInfo` operation in MBeanTypeServiceMBean, supply the following value as this MBean's fully qualified interface name: `weblogic.management.configuration.ForeignJMSConnectionFactoryMBean`
Factory Methods | No factory methods. Instances of this MBean are created automatically.
Deprecated Factory Methods and Access Points |
ForeignJMSServerMBean.ConnectionFactories |

## Attributes

This section describes the following attributes:

LocalJNDIName Name Notes Parent Password | PasswordEncrypted RemoteJNDIName Type Username

### LocalJNDIName

Privileges | Read/Write
Type | java.lang.String

### Name

The user-specified name of this MBean instance.

This name is included as one of the key properties in the MBean's `javax.management.ObjectName`:
`Name=user-specified-name`

Privileges | Read/Write
Type | java.lang.String

### Notes

Optional information that you can include to describe this configuration.

WebLogic Sever saves this note in the domain's configuration file (`config.xml`) as XML PCDATA. All left angle brackets (<) are converted to the XML entity `&lt;`. Carriage returns/line feeds are preserved.

Note:

  If you create or edit a note from the Administration Console, the Administration Console does not preserve carriage returns/line feeds.

Privileges | Read/Write
Type | java.lang.String

### Parent

Return the immediate parent for this MBean

Privileges | Read/Write
Type |

### Password

The password that will be used in conjunction with the user name specified in the "Username" attribute.

As of 8.1 sp4, when you get the value of this attriubte, WebLogic Server does the following:

1. Retrieves the value of the `PasswordEncrypted` attribute.

2. Decrypts the value and returns the unencrypted password as a String.

When you set the value of this attribute, WebLogic Server does the following:

1. Encrypts the value.

2. Sets the value of the `PasswordEncrypted` attribute to the encrypted value.

Using `Password()` is a potential security risk because the String object (which contains the unencrypted password) remains in the JVM's memory until garbage collection removes it and the memory is reallocated. Depending on how memory is allocated in the JVM, a significant amount of time could pass before this unencrypted data is removed from memory.

Instead of using this attribute, use `PasswordEncrypted`.

Privileges | Read/Write
Type | java.lang.String
Encrypted | true

### PasswordEncrypted

The encrypted password that will be used in conjunction with the user name specified in the "Username" attribute.

To set this attribute, use `weblogic.management.EncryptionHelper.encrypt()` to encrypt the value. Then set this attribute to the output of the encrypt() method.

To compare a password that a user enters with the encrypted value of this attribute, go to the same WebLogic Server instance that you used to set and encrypt this attribute and use `weblogic.management.EncryptionHelper.encrypt()` to encrypt the user-supplied password. Then compare the encrypted values.

For more information, see:

- weblogic.management.EncryptionHelper

Privileges | Read/Write
Type | byte[]

### RemoteJNDIName

Privileges | Read/Write
Type | java.lang.String

### Type

Returns the type of the MBean.

Privileges | Read only
Type | java.lang.String
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server.

### Username

The user name that will be passed when opening a connection to the remote JMS server (represented by this foreign JMS connection factory). If not set, then no user name will be used.

Privileges | Read/Write
Type | java.lang.String

## Operations

This section describes the following operations:

freezeCurrentValue isSet restoreDefaultValue | unSet

### freezeCurrentValue

If the specified attribute has not been set explicitly, and if the attribute has a default value, this operation forces the MBean to persist the default value.

Unless you use this operation, the default value is not saved and is subject to change if you update to a newer release of WebLogic Server. Invoking this operation isolates this MBean from the effects of such changes.

Note:

  To insure that you are freezing the default value, invoke the `restoreDefaultValue` operation before you invoke this.

This operation has no effect if you invoke it on an attribute that does not provide a default value or on an attribute for which some other value has been set.

Deprecated. 9.0.0.0

Operation Name | `"freezeCurrentValue"`
Parameters | `Object [] { attributeName }` where: `attributeName` is an object of type `java.lang.String` that specifies: attributeName
Signature | `String [] { "java.lang.String" }`
Returns | `void`
Exceptions | `javax.management.AttributeNotFoundException` `javax.management.MBeanException`

### isSet

Returns true if the specified attribute has been set explicitly in this MBean instance.

Operation Name | `"isSet"`
Parameters | `Object [] { propertyName }` where: `propertyName` is an object of type `java.lang.String` that specifies: property to check
Signature | `String [] { "java.lang.String" }`
Returns | `boolean`

### restoreDefaultValue

If the specified attribute has a default value, this operation removes any value that has been set explicitly and causes the attribute to use the default value.

Default values are subject to change if you update to a newer release of WebLogic Server. To prevent the value from changing if you update to a newer release, invoke the `freezeCurrentValue` operation.

This operation has no effect if you invoke it on an attribute that does not provide a default value or on an attribute that is already using the default.

Deprecated. 9.0.0.0

Operation Name | `"restoreDefaultValue"`
Parameters | `Object [] { attributeName }` where: `attributeName` is an object of type `java.lang.String` that specifies: attributeName
Signature | `String [] { "java.lang.String" }`
Returns | `void`
Exceptions | `javax.management.AttributeNotFoundException`

### unSet

Restore the given property to its default value.

Operation Name | `"unSet"`
Parameters | `Object [] { propertyName }` where: `propertyName` is an object of type `java.lang.String` that specifies: property to restore
Signature | `String [] { "java.lang.String" }`
Returns | `void`