Instead of using the var #'web/app in run-jetty, use a function that takes
your main-db as an argument and returns the routes for your app. You can
use the compojure.core/routes to build your app routes rather than using a
global var.


On Fri, Jul 19, 2013 at 3:42 AM, Tarik Ansari <tari...@gmail.com> wrote:

> Hello Folks,
>
> I am a complete Clojure newbie and trying to achieve something pretty
> simple and looking for an idiomatic, if I can make it work at all, way to
> do it.
>
> My issue is I need to retain the LevelDB descriptor and share it between
> requests, LevelDB is already thread-safe.
> For example:
>
> (defn -main
>   "I don't do a whole lot ... yet."
>   [& args]
>
>   (println "Opening LevelDB file in db/main")
>   (with-open [main-db (db/open "db/main")]
>
>     (println "Running server on port 3000")
>     (run-jetty #'web/app {:port 3000})))
>
> Now, how can I access that main-db descriptor in my requests handlers?
> This, obviously won't work, as main-db is not defined in web/app:
>
> (GET "/test" []
>     (db/put main-db (.getBytes "testKey2") (.getBytes "testValue2"))
>     "<h1>Hello World</h1>")
>
>
> PS: If it helps anyone for setup, I have made a Clojar for the LevelDB JNI
> Clojure wrapper based on Sedward's:
> https://clojars.org/org.clojars.aircart/leveldb-clj
>
> Thanks in advance for your insight/help!
>
>  --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to