|
2 | 2 |
|
3 | 3 | namespace Enqueue\Symfony;
|
4 | 4 |
|
5 |
| -use Enqueue\AmqpExt\AmqpConnectionFactory; |
| 5 | +use Enqueue\AmqpBunny\AmqpConnectionFactory as AmqpBunnyConnectionFactory; |
| 6 | +use Enqueue\AmqpBunny\Symfony\AmqpBunnyTransportFactory; |
| 7 | +use Enqueue\AmqpExt\AmqpConnectionFactory as AmqpExtConnectionFactory; |
6 | 8 | use Enqueue\AmqpExt\Symfony\AmqpTransportFactory;
|
| 9 | +use Enqueue\AmqpLib\AmqpConnectionFactory as AmqpLibConnectionFactory; |
| 10 | +use Enqueue\AmqpLib\Symfony\AmqpLibTransportFactory; |
7 | 11 | use Enqueue\Dbal\DbalConnectionFactory;
|
8 | 12 | use Enqueue\Dbal\Symfony\DbalTransportFactory;
|
9 | 13 | use Enqueue\Fs\FsConnectionFactory;
|
10 | 14 | use Enqueue\Fs\Symfony\FsTransportFactory;
|
| 15 | +use Enqueue\Gps\GpsConnectionFactory; |
| 16 | +use Enqueue\Gps\Symfony\GpsTransportFactory; |
11 | 17 | use Enqueue\Null\NullConnectionFactory;
|
12 | 18 | use Enqueue\Null\Symfony\NullTransportFactory;
|
| 19 | +use Enqueue\Redis\RedisConnectionFactory; |
| 20 | +use Enqueue\Redis\Symfony\RedisTransportFactory; |
| 21 | +use Enqueue\Sqs\SqsConnectionFactory; |
| 22 | +use Enqueue\Sqs\Symfony\SqsTransportFactory; |
| 23 | +use Enqueue\Stomp\StompConnectionFactory; |
| 24 | +use Enqueue\Stomp\Symfony\StompTransportFactory; |
13 | 25 | use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
14 | 26 | use Symfony\Component\DependencyInjection\ContainerBuilder;
|
15 | 27 | use function Enqueue\dsn_to_connection_factory;
|
@@ -167,27 +179,51 @@ private function resolveDSN(ContainerBuilder $container, $dsn)
|
167 | 179 | */
|
168 | 180 | private function findFactory($dsn)
|
169 | 181 | {
|
170 |
| - $connectionFactory = dsn_to_connection_factory($dsn); |
| 182 | + $factory = dsn_to_connection_factory($dsn); |
171 | 183 |
|
172 |
| - if ($connectionFactory instanceof AmqpConnectionFactory) { |
173 |
| - return new AmqpTransportFactory('default_amqp'); |
| 184 | + if ($factory instanceof AmqpExtConnectionFactory) { |
| 185 | + return new AmqpTransportFactory('default_amqp_ext'); |
174 | 186 | }
|
175 | 187 |
|
176 |
| - if ($connectionFactory instanceof FsConnectionFactory) { |
| 188 | + if ($factory instanceof AmqpLibConnectionFactory) { |
| 189 | + return new AmqpLibTransportFactory('default_amqp_lib'); |
| 190 | + } |
| 191 | + |
| 192 | + if ($factory instanceof AmqpBunnyConnectionFactory) { |
| 193 | + return new AmqpBunnyTransportFactory('default_amqp_bunny'); |
| 194 | + } |
| 195 | + |
| 196 | + if ($factory instanceof FsConnectionFactory) { |
177 | 197 | return new FsTransportFactory('default_fs');
|
178 | 198 | }
|
179 | 199 |
|
180 |
| - if ($connectionFactory instanceof DbalConnectionFactory) { |
| 200 | + if ($factory instanceof DbalConnectionFactory) { |
181 | 201 | return new DbalTransportFactory('default_dbal');
|
182 | 202 | }
|
183 | 203 |
|
184 |
| - if ($connectionFactory instanceof NullConnectionFactory) { |
| 204 | + if ($factory instanceof NullConnectionFactory) { |
185 | 205 | return new NullTransportFactory('default_null');
|
186 | 206 | }
|
187 | 207 |
|
| 208 | + if ($factory instanceof GpsConnectionFactory) { |
| 209 | + return new GpsTransportFactory('default_gps'); |
| 210 | + } |
| 211 | + |
| 212 | + if ($factory instanceof RedisConnectionFactory) { |
| 213 | + return new RedisTransportFactory('default_redis'); |
| 214 | + } |
| 215 | + |
| 216 | + if ($factory instanceof SqsConnectionFactory) { |
| 217 | + return new SqsTransportFactory('default_sqs'); |
| 218 | + } |
| 219 | + |
| 220 | + if ($factory instanceof StompConnectionFactory) { |
| 221 | + return new StompTransportFactory('default_stomp'); |
| 222 | + } |
| 223 | + |
188 | 224 | throw new \LogicException(sprintf(
|
189 | 225 | 'There is no supported transport factory for the connection factory "%s" created from DSN "%s"',
|
190 |
| - get_class($connectionFactory), |
| 226 | + get_class($factory), |
191 | 227 | $dsn
|
192 | 228 | ));
|
193 | 229 | }
|
|
0 commit comments