From 6bfb0b635c4733033e5ecdc504bafd83f5f2b841 Mon Sep 17 00:00:00 2001 From: Bob McWhirter Date: Mon, 2 Nov 2015 16:04:26 -0500 Subject: [PATCH] Adjust to slightly better config-api. --- .../datasources/DatasourcesFraction.java | 17 ++- .../wildfly/swarm/datasources/JDBCDriver.java | 27 ----- .../java/org/wildfly/swarm/ee/EEFraction.java | 4 +- .../swarm/infinispan/InfinispanFraction.java | 107 +++++++++++------- .../runtime/InfinispanConfiguration.java | 1 - .../{Server.java => EnhancedServer.java} | 56 +++++---- .../messaging/EnhancedServerConsumer.java | 9 ++ .../swarm/messaging/MessagingFraction.java | 30 +++-- .../swarm/messaging/ServerConfigurator.java | 22 ---- pom.xml | 2 +- 10 files changed, 126 insertions(+), 149 deletions(-) delete mode 100644 datasources/api/src/main/java/org/wildfly/swarm/datasources/JDBCDriver.java rename messaging/api/src/main/java/org/wildfly/swarm/messaging/{Server.java => EnhancedServer.java} (61%) create mode 100644 messaging/api/src/main/java/org/wildfly/swarm/messaging/EnhancedServerConsumer.java delete mode 100644 messaging/api/src/main/java/org/wildfly/swarm/messaging/ServerConfigurator.java diff --git a/datasources/api/src/main/java/org/wildfly/swarm/datasources/DatasourcesFraction.java b/datasources/api/src/main/java/org/wildfly/swarm/datasources/DatasourcesFraction.java index 4883a03e79..28d0593d77 100644 --- a/datasources/api/src/main/java/org/wildfly/swarm/datasources/DatasourcesFraction.java +++ b/datasources/api/src/main/java/org/wildfly/swarm/datasources/DatasourcesFraction.java @@ -17,7 +17,7 @@ import org.wildfly.swarm.config.Datasources; import org.wildfly.swarm.config.datasources.DataSource; -import org.wildfly.swarm.config.datasources.JDBCDriverConfigurator; +import org.wildfly.swarm.config.datasources.JDBCDriverConsumer; import org.wildfly.swarm.container.Fraction; /** @@ -30,14 +30,13 @@ public DatasourcesFraction dataSource(DataSource value) { return super.dataSource(value); } - public DatasourcesFraction jdbcDriver(String childKey, EnhancedJDBCDriverConfigurator config) { - JDBCDriver driver = new JDBCDriver(childKey); - config.configure(driver); - jdbcDriver( driver ); - return this; + public DatasourcesFraction jdbcDriver(String childKey, JDBCDriverConsumer consumer) { + return super.jdbcDriver( childKey, (driver)->{ + driver.driverName( childKey ); + if ( consumer != null ) { + consumer.accept(driver); + } + }); } - public interface EnhancedJDBCDriverConfigurator extends JDBCDriverConfigurator { - - } } diff --git a/datasources/api/src/main/java/org/wildfly/swarm/datasources/JDBCDriver.java b/datasources/api/src/main/java/org/wildfly/swarm/datasources/JDBCDriver.java deleted file mode 100644 index a04d8ee581..0000000000 --- a/datasources/api/src/main/java/org/wildfly/swarm/datasources/JDBCDriver.java +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright 2015 Red Hat, Inc, and 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 org.wildfly.swarm.datasources; - -/** - * @author Bob McWhirter - */ -public class JDBCDriver extends org.wildfly.swarm.config.datasources.JDBCDriver { - - public JDBCDriver(String key) { - super(key); - driverName(key); - } -} diff --git a/ee/api/src/main/java/org/wildfly/swarm/ee/EEFraction.java b/ee/api/src/main/java/org/wildfly/swarm/ee/EEFraction.java index d74753e608..e9ba871d47 100644 --- a/ee/api/src/main/java/org/wildfly/swarm/ee/EEFraction.java +++ b/ee/api/src/main/java/org/wildfly/swarm/ee/EEFraction.java @@ -64,10 +64,10 @@ public static EEFraction createDefaultFraction() { @Override public void postInitialize(Container.PostInitContext initContext) { if ( initContext.hasFraction( "Messaging" )) { - if ( this.defaultBindingsService() == null ) { + if ( this.subresources().defaultBindingsService() == null ) { this.defaultBindingsService( new DefaultBindingsService() ); } - this.defaultBindingsService() + this.subresources().defaultBindingsService() .jmsConnectionFactory( "java:jboss/DefaultJMSConnectionFactory" ); } } diff --git a/infinispan/api/src/main/java/org/wildfly/swarm/infinispan/InfinispanFraction.java b/infinispan/api/src/main/java/org/wildfly/swarm/infinispan/InfinispanFraction.java index a560b30ab3..891a43122b 100644 --- a/infinispan/api/src/main/java/org/wildfly/swarm/infinispan/InfinispanFraction.java +++ b/infinispan/api/src/main/java/org/wildfly/swarm/infinispan/InfinispanFraction.java @@ -20,6 +20,7 @@ import org.wildfly.swarm.config.infinispan.cache_container.*; import org.wildfly.swarm.container.Fraction; +import java.io.File; import java.util.Arrays; /** @@ -33,60 +34,86 @@ private InfinispanFraction() { public static InfinispanFraction createDefaultFraction() { // Default cache - CacheContainer replicatedCache = new CacheContainer("server") + CacheContainer replicatedCache = new CacheContainer<>("server") .defaultCache("default") - .aliases(Arrays.asList(new String[]{"singleton", "cluster"})) - .jgroupsTransport(new JGroupsTransport().lockTimeout(60000L)) - .replicatedCache(new ReplicatedCache("default") - .mode("SYNC") - .transactionComponent( - new TransactionComponent().mode("BATCH"))); + .alias("singleton") + .alias("cluster") + .jgroupsTransport((t) -> { + t.lockTimeout(60000L); + }) + .replicatedCache("default", (c) -> { + c.mode("SYNC") + .transactionComponent((t) -> { + t.mode("BATCH"); + }); + }); // Web cache - CacheContainer webCache = new CacheContainer("web") + CacheContainer webCache = new CacheContainer<>("web") .defaultCache("dist") - .jgroupsTransport(new JGroupsTransport().lockTimeout(60000L)) - .distributedCache(new DistributedCache("dist") - .mode("ASYNC") - .l1Lifespan(0L) - .owners(2) - .lockingComponent(new LockingComponent().isolation("REPEATABLE_READ")) - .transactionComponent(new TransactionComponent().mode("BATCH")) - .fileStore(new FileStore())); + .jgroupsTransport((t) -> { + t.lockTimeout(60000L); + }) + .distributedCache("dist", (c) -> { + c.mode("ASYNC") + .l1Lifespan(0L) + .owners(2) + .lockingComponent(lc -> { + lc.isolation("REPEATABLE_READ"); + }) + .transactionComponent(tc -> { + tc.mode("BATCH"); + }) + .fileStore(); + }); + // EJB cache - CacheContainer ejbCache = new CacheContainer("ejb") + CacheContainer ejbCache = new CacheContainer<>("ejb") .defaultCache("dist") - .aliases(Arrays.asList(new String[]{"sfsb"})) - .jgroupsTransport(new JGroupsTransport().lockTimeout(60000L)) - .distributedCache(new DistributedCache("dist") - .mode("ASYNC") - .l1Lifespan(0l) - .owners(2) - .lockingComponent(new LockingComponent().isolation("REPEATABLE_READ")) - .transactionComponent(new TransactionComponent().mode("BATCH")) - .fileStore(new FileStore())); + .alias("sfsb") + .jgroupsTransport(t -> { + t.lockTimeout(60000L); + }) + .distributedCache("dist", (c) -> { + c.mode("ASYNC") + .l1Lifespan(0l) + .owners(2) + .lockingComponent(lc -> lc.isolation("REPEATABLE_READ")) + .transactionComponent(t -> t.mode("BATCH")) + .fileStore(); + }); // Hibernate cache - CacheContainer hibernateCache = new CacheContainer("hibernate") + CacheContainer hibernateCache = new CacheContainer<>("hibernate") .defaultCache("local-query") - .jgroupsTransport(new JGroupsTransport().lockTimeout(60000L)) - .localCache(new LocalCache("local-query") - .evictionComponent(new EvictionComponent().maxEntries(10000L).strategy("LRU")) - .expirationComponent(new ExpirationComponent().maxIdle(100000L))) - .invalidationCache(new InvalidationCache("entity") - .mode("SYNC") - .transactionComponent(new TransactionComponent().mode("NON_XA")) - .evictionComponent(new EvictionComponent().maxEntries(10000L).strategy("LRU")) - .expirationComponent(new ExpirationComponent().maxIdle(100000L))) - .replicatedCache(new ReplicatedCache("timestamps").mode("ASYNC")); + .jgroupsTransport(t -> { + t.lockTimeout(60000L); + }) + .localCache("local-query", (c) -> { + c.evictionComponent(ec -> + ec.maxEntries(10000L).strategy("LRU") + ); + c.expirationComponent(ec -> + ec.maxIdle(100000L) + ); + }) + .invalidationCache("entity", (c) -> { + c.mode("SYNC") + .transactionComponent(tc -> tc.mode("NON_XA")) + .evictionComponent(ec -> ec.maxEntries(10000L).strategy("LRU")) + .expirationComponent(ec -> ec.maxIdle(100000L)); + }) + .replicatedCache("timestamps", (c) -> { + c.mode("ASYNC"); + }); InfinispanFraction fraction = new InfinispanFraction(); return fraction.cacheContainer(replicatedCache) - .cacheContainer(webCache) - .cacheContainer(ejbCache) - .cacheContainer(hibernateCache); + .cacheContainer(webCache) + .cacheContainer(ejbCache) + .cacheContainer(hibernateCache); } } diff --git a/infinispan/runtime/src/main/java/org/wildfly/swarm/infinispan/runtime/InfinispanConfiguration.java b/infinispan/runtime/src/main/java/org/wildfly/swarm/infinispan/runtime/InfinispanConfiguration.java index 5678fb641b..a7cbdc3234 100644 --- a/infinispan/runtime/src/main/java/org/wildfly/swarm/infinispan/runtime/InfinispanConfiguration.java +++ b/infinispan/runtime/src/main/java/org/wildfly/swarm/infinispan/runtime/InfinispanConfiguration.java @@ -54,6 +54,5 @@ public List getList(InfinispanFraction fraction) throws Exception { list.addAll(Marshaller.marshal(fraction)); return list; - } } diff --git a/messaging/api/src/main/java/org/wildfly/swarm/messaging/Server.java b/messaging/api/src/main/java/org/wildfly/swarm/messaging/EnhancedServer.java similarity index 61% rename from messaging/api/src/main/java/org/wildfly/swarm/messaging/Server.java rename to messaging/api/src/main/java/org/wildfly/swarm/messaging/EnhancedServer.java index 1980c1874a..ba5ebab08e 100644 --- a/messaging/api/src/main/java/org/wildfly/swarm/messaging/Server.java +++ b/messaging/api/src/main/java/org/wildfly/swarm/messaging/EnhancedServer.java @@ -20,29 +20,29 @@ import org.wildfly.swarm.config.messaging_activemq.server.ConnectionFactory; import org.wildfly.swarm.config.messaging_activemq.server.JMSQueue; -import org.wildfly.swarm.config.messaging_activemq.server.JMSQueueConfigurator; +import org.wildfly.swarm.config.messaging_activemq.server.JMSQueueConsumer; import org.wildfly.swarm.config.messaging_activemq.server.JMSTopic; -import org.wildfly.swarm.config.messaging_activemq.server.JMSTopicConfigurator; +import org.wildfly.swarm.config.messaging_activemq.server.JMSTopicConsumer; import org.wildfly.swarm.config.messaging_activemq.server.PooledConnectionFactory; /** * @author Bob McWhirter */ -public class Server extends org.wildfly.swarm.config.messaging_activemq.Server { +public class EnhancedServer extends org.wildfly.swarm.config.messaging_activemq.Server { private static final AtomicInteger COUNTER = new AtomicInteger(); - public Server(String key) { + public EnhancedServer(String key) { super(key); } - public Server enableInVm() { + public EnhancedServer enableInVm() { int serverId = COUNTER.getAndIncrement(); - inVmConnector( "in-vm", (c)->{ - c.serverId( serverId ); + inVmConnector("in-vm", (c) -> { + c.serverId(serverId); }); - inVmAcceptor( "in-vm", (a)->{ + inVmAcceptor("in-vm", (a) -> { a.serverId(serverId); }); @@ -59,30 +59,26 @@ public Server enableInVm() { } @Override - public Server jmsQueue(String childKey, JMSQueueConfigurator config) { - JMSQueue queue = new JMSQueue(childKey); - if ( config != null ) { - config.configure(queue); - } - System.err.println( "queeu entries: " + queue.entries() ); - if ( queue.entries() == null ) { - queue.entries( Arrays.asList( "java:/jms/queue/" + childKey )); - } - jmsQueue(queue); - return this; + public EnhancedServer jmsQueue(String childKey, JMSQueueConsumer config) { + return super.jmsQueue(childKey, (q) -> { + if (config != null) { + config.accept(q); + } + if (q.entries() == null || q.entries().isEmpty()) { + q.entry("java:/jms/queue/" + childKey); + } + }); } @Override - public Server jmsTopic(String childKey, JMSTopicConfigurator config) { - JMSTopic topic = new JMSTopic(childKey); - if( config != null ) { - config.configure(topic); - } - System.err.println( "topic entries: " + topic.entries() ); - if ( topic.entries() == null ) { - topic.entries( Arrays.asList( "java:/jms/topic/" + childKey )); - } - jmsTopic(topic); - return this; + public EnhancedServer jmsTopic(String childKey, JMSTopicConsumer config) { + return super.jmsTopic(childKey, (t) -> { + if (config != null) { + config.accept(t); + } + if (t.entries() == null || t.entries().isEmpty()) { + t.entry("java:/jms/topic/" + childKey); + } + }); } } diff --git a/messaging/api/src/main/java/org/wildfly/swarm/messaging/EnhancedServerConsumer.java b/messaging/api/src/main/java/org/wildfly/swarm/messaging/EnhancedServerConsumer.java new file mode 100644 index 0000000000..ebf291f0c3 --- /dev/null +++ b/messaging/api/src/main/java/org/wildfly/swarm/messaging/EnhancedServerConsumer.java @@ -0,0 +1,9 @@ +package org.wildfly.swarm.messaging; + +import org.wildfly.swarm.config.messaging_activemq.ServerConsumer; + +/** + * @author Bob McWhirter + */ +public interface EnhancedServerConsumer extends ServerConsumer { +} diff --git a/messaging/api/src/main/java/org/wildfly/swarm/messaging/MessagingFraction.java b/messaging/api/src/main/java/org/wildfly/swarm/messaging/MessagingFraction.java index 9b63bdb8c9..cf000f4ec3 100644 --- a/messaging/api/src/main/java/org/wildfly/swarm/messaging/MessagingFraction.java +++ b/messaging/api/src/main/java/org/wildfly/swarm/messaging/MessagingFraction.java @@ -15,11 +15,7 @@ */ package org.wildfly.swarm.messaging; -import java.util.Arrays; - import org.wildfly.swarm.config.MessagingActiveMQ; -import org.wildfly.swarm.config.messaging_activemq.server.ConnectionFactory; -import org.wildfly.swarm.config.messaging_activemq.server.PooledConnectionFactory; import org.wildfly.swarm.container.Fraction; /** @@ -32,24 +28,24 @@ private MessagingFraction() { } public static MessagingFraction createDefaultFraction() { - return new MessagingFraction(); - } - - public MessagingFraction server(String childKey, ServerConfigurator config) { - Server s = new Server(childKey); - config.configure(s); - return server(s); + return new MessagingFraction().defaultServer(); } public MessagingFraction defaultServer() { - return defaultServer( (s)->{} ); + return defaultServer((s) -> { + s.enableInVm(); + }); } - public MessagingFraction defaultServer(ServerConfigurator config) { - server("default", (s) -> { - s.enableInVm(); - config.configure(s); + public MessagingFraction server(String childKey, EnhancedServerConsumer consumer) { + return super.server( ()->{ + EnhancedServer s = new EnhancedServer(childKey); + consumer.accept(s); + return s; }); - return this; + } + + public MessagingFraction defaultServer(EnhancedServerConsumer config) { + return server( "default", config ); } } diff --git a/messaging/api/src/main/java/org/wildfly/swarm/messaging/ServerConfigurator.java b/messaging/api/src/main/java/org/wildfly/swarm/messaging/ServerConfigurator.java deleted file mode 100644 index a887055f05..0000000000 --- a/messaging/api/src/main/java/org/wildfly/swarm/messaging/ServerConfigurator.java +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Copyright 2015 Red Hat, Inc, and 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 org.wildfly.swarm.messaging; - -/** - * @author Bob McWhirter - */ -public interface ServerConfigurator extends org.wildfly.swarm.config.messaging_activemq.ServerConfigurator { -} diff --git a/pom.xml b/pom.xml index 47e6783f8a..0efe317a38 100644 --- a/pom.xml +++ b/pom.xml @@ -40,7 +40,7 @@ 10.0.0.CR4 - 0.3.12 + 0.3.13 1.2.6.Final 2.0.0.Final 1.1.8.Final