private synchronized TransactionMetadata loadMetadata(AnnotatedElement element) { if (!transactionMetadata.containsKey(element)) { TransactionMetadata metadata = new TransactionMetadata(element); transactionMetadata.put(element, metadata); return metadata; } return transactionMetadata.get(element); }
private TransactionMetadata lookupTransactionMetadata(Method element) { if (transactionMetadata == null) { transactionMetadata = new HashMap<AnnotatedElement, TransactionMetadata>(); } TransactionMetadata metadata = transactionMetadata.get(element); if (metadata == null) { synchronized (this) { if (element.isAnnotationPresent(Transactional.class)) { metadata = new TransactionMetadata(element.getAnnotation(Transactional.class)); } else if (element.isAnnotationPresent(EjbApi.TRANSACTION_ATTRIBUTE)) { metadata = new TransactionMetadata(element.getAnnotation(EjbApi.TRANSACTION_ATTRIBUTE)); } else { metadata = new TransactionMetadata(null); } transactionMetadata.put(element, metadata); } } return metadata; }
private TransactionMetadata lookupTransactionMetadata(Class<?> element) { if (transactionMetadata == null) { transactionMetadata = new HashMap<AnnotatedElement, TransactionMetadata>(); } TransactionMetadata metadata = transactionMetadata.get(element); if (metadata == null) { synchronized (this) { // we need access to cached stereotype information, so we load it // from the transaction extension metadata = new TransactionMetadata(transactionExtension.getClassLevelTransactionAnnotation(element)); transactionMetadata.put((AnnotatedElement) element, metadata); } } return metadata; }