Java EE 7 будет серьезно сфокусирована на clouds/PaaS и, как следствие, на обеспечении multitenancy [Arun Gupta about Java EE 7].
Нашел документ, описывающий как multitenancy, возможно, будет введена в JMS 2.0 (JMS 2.0 - часть Java EE 7) - JMS 2.0: Support for Multi-tenancy.
@JMSConnectionFactoryDefinition {
name="jms/connFactory",
className="javax.jms.ConnectionFactory”,
initialPoolSize="32",
maxPoolSize="64"
}
1. Each tenant application uses a completely different JMS server. This gives the highest degree of isolation but requires the highest amount of resources. It does not require the JMS server to be aware that the application is multi-tenant. Let's call this "isolation using multiple providers".
2. Each tenant application uses the same JMS server but different destinations for each tenant. This gives an intermediate level of isolation with an intermediate use of resources. The deployer will be responsible for provisioning administered objects to ensure that that each tenant uses a different destination. It does not require the JMS server to be aware that the application is multi-tenant. Let's call this "isolation using multiple destinations".
3. Each tenant application uses the same JMS server and the same destinations for each tenant., with the JMS provider isolating each the different tenant applications using the same destination. Te degree of isolation this provides would depend on the JMS provider, but it might potentially require the lowest level of resources. Inevitably the JMS server would need to be aware that the application is multi-tenant, and would need to be able to identify which tenant application is using it for a given operation. Let's call this "isolation using a multi-tenant destination".
The JMS server needs to be aware that the destination is being used by different tenants, and
needs to be able to distinguish one tenant from another. There are several ways this might be
achieved:
• by setting the tenantId on the connection factory,
• by the JMS provider looking up the tenantId from a well-known location in JNDI, or
• by the application server passing in the tenantId using the JCA API.
Нашел документ, описывающий как multitenancy, возможно, будет введена в JMS 2.0 (JMS 2.0 - часть Java EE 7) - JMS 2.0: Support for Multi-tenancy.
@JMSConnectionFactoryDefinition {
name="jms/connFactory",
className="javax.jms.ConnectionFactory”,
initialPoolSize="32",
maxPoolSize="64"
}
1. Each tenant application uses a completely different JMS server. This gives the highest degree of isolation but requires the highest amount of resources. It does not require the JMS server to be aware that the application is multi-tenant. Let's call this "isolation using multiple providers".
2. Each tenant application uses the same JMS server but different destinations for each tenant. This gives an intermediate level of isolation with an intermediate use of resources. The deployer will be responsible for provisioning administered objects to ensure that that each tenant uses a different destination. It does not require the JMS server to be aware that the application is multi-tenant. Let's call this "isolation using multiple destinations".
3. Each tenant application uses the same JMS server and the same destinations for each tenant., with the JMS provider isolating each the different tenant applications using the same destination. Te degree of isolation this provides would depend on the JMS provider, but it might potentially require the lowest level of resources. Inevitably the JMS server would need to be aware that the application is multi-tenant, and would need to be able to identify which tenant application is using it for a given operation. Let's call this "isolation using a multi-tenant destination".
The JMS server needs to be aware that the destination is being used by different tenants, and
needs to be able to distinguish one tenant from another. There are several ways this might be
achieved:
• by setting the tenantId on the connection factory,
• by the JMS provider looking up the tenantId from a well-known location in JNDI, or
• by the application server passing in the tenantId using the JCA API.
Комментариев нет:
Отправить комментарий