Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Simple HornetQ Descriptor Impl

View JMSDescriptor.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
/*
* JBoss, Home of Professional Open Source
* Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
* as indicated by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.acme.jms.descriptor;
 
import org.jboss.shrinkwrap.descriptor.api.Descriptor;
 
/**
* JMSDescriptor
*
* @author <a href="mailto:aslak@redhat.com">Aslak Knutsen</a>
* @version $Revision: $
*/
public interface JMSDescriptor extends Descriptor
{
 
JMSDescriptor queue(String name, String jndi);
JMSDescriptor topic(String name, String jndi);
}
View JMSDescriptor.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
/*
* JBoss, Home of Professional Open Source
* Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
* as indicated by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.acme.jms.descriptor;
 
import org.jboss.shrinkwrap.descriptor.api.Node;
import org.jboss.shrinkwrap.descriptor.impl.base.NodeProviderImplBase;
import org.jboss.shrinkwrap.descriptor.impl.base.XMLExporter;
import org.jboss.shrinkwrap.descriptor.spi.DescriptorExporter;
 
/**
* JMSDescriptorImpl
*
* @author <a href="mailto:aslak@redhat.com">Aslak Knutsen</a>
* @version $Revision: $
*/
public class JMSDescriptorImpl extends NodeProviderImplBase implements JMSDescriptor
{
// -------------------------------------------------------------------------------------||
// Instance Members -------------------------------------------------------------------||
// -------------------------------------------------------------------------------------||
 
private final Node configuration;
 
// -------------------------------------------------------------------------------------||
// Constructor ------------------------------------------------------------------------||
// -------------------------------------------------------------------------------------||
 
public JMSDescriptorImpl(String descriptorName)
{
this(descriptorName, new Node("configuration")
.attribute("xmlns", "urn:hornetq")
.attribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
.attribute("xsi:schemaLocation", "urn:hornetq ../schemas/hornetq-jms.xsd"));
}
 
public JMSDescriptorImpl(String descriptorName, Node configuration)
{
super(descriptorName);
this.configuration = configuration;
}
 
/* (non-Javadoc)
* @see com.acme.jms.descriptor.JMSDescriptor#qeueu(java.lang.String, java.lang.String)
*/
@Override
public JMSDescriptor queue(String name, String jndi)
{
configuration.getOrCreate("queue@name=" + name)
.attribute("name", name)
.getOrCreate("entry").attribute("name", jndi);
return this;
}
 
/* (non-Javadoc)
* @see com.acme.jms.descriptor.JMSDescriptor#topic(java.lang.String, java.lang.String)
*/
@Override
public JMSDescriptor topic(String name, String jndi)
{
configuration.getOrCreate("topic@name=" + name)
.attribute("name", name)
.getOrCreate("entry").attribute("name", jndi);
 
return this;
}
// -------------------------------------------------------------------------------------||
// Required Impl - NodeProvider --------------------------------------------------------||
// -------------------------------------------------------------------------------------||
 
/*
* (non-Javadoc)
*
* @see org.jboss.shrinkwrap.descriptor.spi.NodeProvider#getRootNode()
*/
@Override
public Node getRootNode()
{
return configuration;
}
 
/*
* (non-Javadoc)
*
* @see org.jboss.shrinkwrap.descriptor.impl.base.NodeProviderImplBase#getExporter()
*/
@Override
protected DescriptorExporter getExporter()
{
return new XMLExporter();
}
}
View JMSDescriptor.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
@RunWith(Arquillian.class)
public class UsageTestCase
{
private static final String DEP = "deployment";
@Deployment(order = 1)
public static Descriptor createQueue()
{
return Descriptors.create(JMSDescriptor.class, "test-hornetq-jms.xml")
.queue("TestQueue", "/queues/Test");
}
 
@Resource(mappedName = "/queues/Test")
private Queue test;
 
@Test
public void shouldInject() {
}
 
}
View JMSDescriptor.java
1 2 3
implClass=com.acme.jms.descriptor.JMSDescriptorImpl
importerClass=org.jboss.shrinkwrap.descriptor.impl.base.XMLImporter
defaultName=hornetq.xml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.