Exceção ao fazer injection para javax.resource.cci.ConnectionFactory

Rapazeada, estou aqui escrevendo uns códigos que estão no livro Mastering Enterprise JavaBeans 3.0, no Capítulo 15 que é sobre EJB Integration, cheguei a baixar os sources, mas pelo que eu vi, a implementação foi feita em Glassfish e eu estou fazendo no JBoss 4.2.3, porém ao startar o JBoss, está acontecendo a seguinte exceção na hora de fazer o injection a um atributo do EJB do tipo javax.resource.cci.ConnectionFactory:

— MBeans waiting for other MBeans —
ObjectName: jboss.j2ee:service=EJB3,module=SCBCD.jar
State: FAILED
Reason: java.lang.RuntimeException: You did not specify a @Resource.mappedName() on public javax.resource.cci.ConnectionFactory examples.integration.loanratesejb.LoanRatesBean.connFactory and there is no binding for enc name env/OutboundLoanJNDIName in XML

— MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM —
ObjectName: jboss.j2ee:service=EJB3,module=SCBCD.jar
State: FAILED
Reason: java.lang.RuntimeException: You did not specify a @Resource.mappedName() on public javax.resource.cci.ConnectionFactory examples.integration.loanratesejb.LoanRatesBean.connFactory and there is no binding for enc name env/OutboundLoanJNDIName in XML

Já pesquisei em um monte de sites mas não encontrei solução, alguém tem idéia do que pode estar faltando para funcionar???

Segue os códigos:

package examples.integration.loanratesejb;

import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class LoanRatesClient {

public static void main(String[] args) throws Exception {
	Properties props = new Properties();
	props.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
	props.put("java.naming.factory.url.pkgs","org.jboss.naming.client");
	props.put("java.naming.provider.url","jnp://127.0.0.1:1099");
	Context ctx = new InitialContext(props);
	
	LoanRates loanRates = (LoanRates) ctx.lookup("LoanRatesBean/remote");
	System.out.println("O valor recuperado é " + loanRates.getHomeEquityRate());
}

}

===================================================

package examples.integration.loanratesejb;

import javax.annotation.Resource;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.ejb.TransactionManagement;
import javax.ejb.TransactionManagementType;

@Stateless
@Remote(LoanRates.class)
@TransactionManagement(TransactionManagementType.BEAN)
public class LoanRatesBean implements LoanRates {

[b]@Resource (name="OutboundLoanJNDIName")
public javax.resource.cci.ConnectionFactory connFactory;[/b]
public float getHomeEquityRate() {

	return 515.7f;
}

}

========================================================

ra.xml

<?xml version='1.0' encoding='UTF-8'?>


OutboundLoanRa
Vendor Name
EIS Type
1.5

false




examples.integration.out_loan_ra.ManagedConnectionFactoryImpl
javax.resource.cci.ConnectionFactory
examples.integration.out_loan_ra.ConnectionFactoryImpl
javax.resource.cci.Connection
examples.integration.out_loan_r.ConnectionImpl

LocalTransaction
false