【发布时间】:2021-03-16 02:00:22
【问题描述】:
我正在尝试在我的 express 服务器启动时创建一个 amqplib 连接/通道,并将其传递给路由,以便它们可以声明队列、发布消息等。我尝试过中间件,但每次你去一个路由和调用中间件,建立新的连接。
我的路由中间件已从 index.js 文件中分离出来,因此请保持整洁,这样我就不能只在 index.js 中定义 amqp 队列/发布逻辑。
例如...
// index.js
// ...
const amqplibConnection = // create amqp connection;
const channel = amqplibConnection.createChannel();
const app = express();
const fooRoutes = require('./routes/foo')
// how can I pass channel to ./routes/foo ???
app.use('/api/v1/foo', fooRoutes);
// routes/foo.js
const router = express.Router();
router.get('/', (req, res) => {
// declare queue, publish message, etc ...
});
【问题讨论】:
标签: javascript express rabbitmq microservices amqp