2011-03-20 14 views
5

Yo solía ser capaz de iniciar un servidor web en compojure así:¿Dónde se ha ido el servidor de ejecución en compojure?

(run-server {:port 8080} "/*" (servlet my-app)) 

¿Alguien sabe donde esta función se ha ido en el último compojure? (0.6.2)

Los documentos dicen que se supone que debo ejecutarlo desde la línea de comandos y usar algo extraño de recarga automática, en cuyo punto podría ser que también esté usando python.

Respuesta

10

Estás viendo una documentación seriamente desactualizada.

Para embarcadero, utilice

(use 'ring.adapter.jetty) 

(defn start-web [] 
    (run-jetty (var my-site) {:port 8080 :join? false})) 

Donde mi sitio es la función de controlador de nivel superior.

Puede llamar a esa función en cualquier lugar, incluso desde REPL en SLIME. La recompilación/redefinición de my-site funcionará en un servidor en ejecución, por lo que no es necesario volver a cargar automáticamente si ya está usando un entorno interactivo.

EDITAR: compojure se ha dividido en anillo & influencia, con compojure en sí mismo restante como una pequeña selección de abstracciones de nivel superior en la parte superior. La mayoría de las cosas reales del servidor y la documentación de diseño ahora están en el anillo. Ver https://github.com/mmcgrana/ring/wiki

+0

¡Gracias, eso es exactamente lo que necesitaba saber! –

Cuestiones relacionadas