package com.vladmihalcea.flexypool;
import org.springframework.mock.jndi.SimpleNamingContextBuilder;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.naming.NamingException;
/**
* JndiExporter - JndiExporter
*
* @author Vlad Mihalcea
*/
public class JndiExporter<T> {
private final String jndiName;
private final T jndiValue;
private final SimpleNamingContextBuilder namingContextBuilder;
public JndiExporter(String jndiName, T jndiValue) throws NamingException {
this.jndiName = jndiName;
this.jndiValue = jndiValue;
this.namingContextBuilder = SimpleNamingContextBuilder.emptyActivatedContextBuilder();
}
@PostConstruct
public void init() {
namingContextBuilder.bind(jndiName, jndiValue);
}
@PreDestroy
public void destroy() {
namingContextBuilder.clear();
}
}