Самая простая вещь, о которой я могу подумать, это просматривать свойства системы во время выполнения, поскольку оба сервера почти наверняка определят свои собственные. Например, JBoss 4 определяет системное свойство jboss.server.dir
. Проверьте, существует ли это свойство, и если оно существует, вы можете предположить, что работаете на этом сервере. У OC4J будет что-то похожее.
В качестве альтернативы, попробуйте рефлексивно загрузить класс, который является частью инфраструктуры сервера (например, org.jboss.Version
в JBoss 4). Если он существует, вы знаете, на каком сервере находитесь.