greptilian logo

IRC log for #javaee, 2013-10-24

Please see http://irclog.greptilian.com/javaee for which days have been logged.

| Channels | #javaee index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

All times shown according to UTC.

Time S Nick Message
01:02 [[thufir]] joined ##javaee
03:58 [[thufir]] joined ##javaee
05:55 tangatools joined ##javaee
05:55 tangatools joined ##javaee
06:58 AlexCzar joined ##javaee
08:49 AlexCzar joined ##javaee
10:52 MegaMatt joined ##javaee
10:58 cheater_3 joined ##javaee
11:06 AlexCzar I can't figure out how to use @MatrixVariables in spring 3.2. I'm using WebMvcConfigurationSupport for configuration, @RequestMapping is just like in the docs: value="/{location}". URL is "/location;lat=41.1;lon=42.2". Spring throws Bad Request (400) error
11:09 pdurbin AlexCzar: what part of the docs are you looking at?
11:11 AlexCzar pdurbin, http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/mvc.html#mvc-ann-matrix-variables
11:16 sfisque1 joined ##javaee
11:37 cheater_3 hi. i am trying to migrate an app from jboss 4.2.3 to 6.1.0.Final. it works under 4.2.3. Under 6.1.0.Final I am getting the following issue, i was told it was likely related to java ee. during startup, deployment is broken off with the following error found in server.log: Deployment "vfs:///usr/local/jboss-6.1.0.Final​/server/default/deploy/patent.ear" is in error due to the following reason(s):  java.lang.IllegalArgumentException: Can't
11:37 cheater_3 my application.xml is very simple and it's found at http://paste.debian.net/61183/
11:38 cheater_3 i would appreciate any hints on how to resolve this.
11:39 pdurbin cheater_3: your first line was cut off: http://irclog.greptilian.com/javaee/2013-10-24
11:40 cheater_3 the whole error message: Deployment "vfs:///usr/local/jboss-6.1.0.Final​/server/default/deploy/patent.ear" is in error due to the following reason(s):  java.lang.IllegalArgumentException: Can't find a deployment unit named .jar at  AbstractVFSDeploymentContext@1942861904{vfs:///usr/local/jboss-6.1.0.​Final/server/default/deploy/patent.ear}
11:40 cheater_3 that came through complete
11:48 cheater_3 pdurbin: what are your thoughts?
12:22 pdurbin cheater_3: "named .jar"? shouldn't it be foo.jar or something? just .jar?
12:25 pdurbin cheater_3: also, when you /join #wildfly you'll see: "This is the right place to ask about the Wildfly Application Server and the older JBoss Application Server projects."
12:27 pdurbin AlexCzar: anything useful in your logs?
12:27 AlexCzar pdurbin, nope nothing gets logged
12:28 pdurbin AlexCzar: can you turn the logging up to DEBUG or whatever?
12:29 AlexCzar pdurbin, it's set to INFO
12:29 pdurbin AlexCzar: try FINE or higher. DEBUG
12:30 AlexCzar pdurbin, ok, wait a moment
12:31 pdurbin the matrix thing is interesting: http://www.w3.org/DesignIssues/MatrixURIs.html
12:43 AlexCzar pdurbin, the message from log: Missing matrix variable 'lat' for method parameter type [double]
12:44 AlexCzar here is the gist for the code: https://gist.github.com/AlexCzar/e0ba8f82c4317733e210
12:59 pdurbin AlexCzar: I see "double lat" but where is the value of that variable set?
12:59 AlexCzar pdurbin, From the matrix variable
12:59 AlexCzar check the gist
13:11 sl33k joined ##javaee
13:13 tommmied joined ##javaee
13:23 Naros joined ##javaee
13:29 javaeebot joined ##javaee
13:55 sl33k joined ##javaee
13:56 pdurbin Naros: our Glassfish 4 upgrade doc, just published: https://github.com/IQSS/dvn/blob/develop/doc/platform/upgrade/ee7gf4/README.txt ... in case you see anything interesting in there
13:57 Naros Awesome, thanks i"ll bookmark it
13:57 pdurbin sure. we're not there yet but making progress
14:12 sl33k joined ##javaee
14:12 sl33k left ##javaee
14:25 jieryn_ joined ##javaee
14:26 cheater_3 pdurbin: that's exactly what they say
14:26 cheater_3 what the log says
14:26 cheater_3 it says ".jar"
14:26 pdurbin cheater_3: yes, but why?
14:26 cheater_3 pdurbin: i have no idea :/
14:27 cheater_3 people who know jboss told me this has little to do with jboss and a lot to do with java ee, but i don't really understand either technology 100%
14:27 pdurbin cheater_3: I'd ask in #wildfly
14:27 cheater_3 i tried asking in #wildfly, they have been helpful in solving other issues, but nobody has an idea on that one
14:29 pdurbin cheater_3: dunno. I use glassfish. try it with glassfish
14:30 cheater_3 i dunno how, i've never used glassfish
14:30 Naros pdurbin: no worries, I'm still in the code rewrite phase of our core API so it'll be a bit before I retry GF4 :P
14:30 cheater_3 i'm sort of trying to minimize the changes in environment, so that i'm not TOO stumped by this
14:31 pdurbin cheater_3: I sympathize
14:31 pdurbin Naros: good luck!
14:31 cheater_3 i'll try asking in #wildfly again, maybe someone else is online
14:31 Naros thank you, I need it.
14:32 cheater_3 but if one of you guys comes up with anything, let me know please
14:32 Naros Rewriting two years of API in < 8 weeks is gonna be tough :P
14:32 pdurbin Naros: get to work!
14:32 Naros :P
14:33 pdurbin :)
14:39 jieryn joined ##javaee
14:43 Quest joined ##javaee
14:46 cheater_3 when rewriting the API, do you have a list of all edge cases that you have encountered during the evolution of the old version?
15:01 Naros We do.  The rewrite addresses those by enforcing a standard that works across both normal and edge cases finally.
15:01 Naros At least until we reach that point where another edge case crops up :P
15:02 Naros A majority of the api rewrite was to separate individual chunks of functionality into separate projects rather than being one massive project.
15:03 Naros plus to address some bad package designs too
15:07 sess Guest95242: was thinking of your IP thingy yesterday; i realized the whole thing can be solved using client logic only, where are JSON apis where you just send an ip and get a location back. Free of charge and like 2 lines of code
15:16 AlexCzar joined ##javaee
15:17 sfisque joined ##javaee
15:18 Guest95242 no no. sess  we use our custom strategy. very custom to product and its way of communication. the issue is resoled. I R&D yesterday. got some views. and yours helped a lot too.  the thing we are using is MaxMind. looks satisfactory to me though. secondly,  the columns were varchars, . the BETWEEN statement did accomodated but its made for Range comparison, that is columns should have been ints. thats why index was not used.
15:19 Guest95242 converted to ints and used a COMPOSITE index. now we are good!
15:20 sess Guest95242: custom strategy? how many strategies can exist for determing the country of an IP
15:21 Guest95242 well did you see maxmind?
15:21 sess i have no idea what maxmind is
15:21 Guest95242 it eliminates the dots from ip and converts the ip to 8-9 digit no.  theres a start rand and end range.  each has a country.
15:21 Guest95242 works pretty wel
15:22 sess if you use an external web service you have no need for that data to start with
15:22 pdurbin javaeebot: lucky maxmind
15:22 Guest95242 no. the db table is the IP table that we downloaded from max mind
15:22 javaeebot pdurbin: http://www.maxmind.com/
15:23 sess my point is
15:23 sess remove your db table
15:23 Guest95242 sess,  all managed inhouse
15:23 sess remove all your sql logic
15:23 Guest95242 am. why?
15:23 sess replace it with a single line of javascript
15:23 sess $.get('http://somegeosite/some-IP', handler)
15:24 sess returns json with location information
15:24 Guest95242 sess,  javascript dont run on mobile devices in applications and running it on server is another story
15:24 sfisque sess that would work, except if the client cannot reach that webservice for whatever reason
15:24 sfisque firewall
15:24 sfisque routing
15:24 sfisque trust
15:24 sess what firewall blocks all http traffic
15:25 sess Guest95242: mobile devices does run javascript
15:25 Guest95242 none to my knowledge. we use http our self. even on old mobiles but. there are issues on JS in apps
15:25 sfisque my point is, if his client can see the site that served up the page, it's guaranteed that it can get this data from THAT site
15:25 sess and you could also do this server side
15:25 sess sfisque: so do it server side then
15:25 sess unless the web server is on a closed intranet with no internet enabled
15:25 Guest95242 we just didnt wanted to be depended on a third party service we cant tune up .............
15:25 sfisque that's another reason
15:26 Guest95242 we == me in this case
15:26 sess well it's a decision then between delying on a trusted 3rd part, or spending thousands of dollars on a custom solution that is 10x slower
15:26 Guest95242 tune/ further customize/ add/ delete features
15:26 sess you could also download their source code and db for free
15:26 sfisque not necessarily sess.  there are good reasons to cache data from a webservice.   data mining.  resiliency.
15:27 Guest95242 our solution is as fast as our application. as its on the same server/db
15:27 * Guest95242 agrees with sfisque  on that^
15:27 sess Guest95242: how long time to fetch the country now*?
15:27 Guest95242 cache is what we were working on
15:27 sess this service i tried did it in like <100ms
15:27 Guest95242 .233ms
15:27 sess without any sort of cache
15:28 sess oh well it's your choice, I just think you are reinventing the wheel
15:28 Guest95242 .233ms is our fastest query in the app itself. so all speed is == .233ms. so we dont bother
15:28 Guest95242 sess,  no. we are customizing the wheel. it was made by maxmind though
15:28 Guest95242 we are just using it.
15:29 sess thats just an algorithm
15:29 sess you still need to construct the database, query logic, get the actual data, setup a cache system
15:29 Guest95242 sess,  your point of view is nice but things are different here and iam not the only decision maker too :)
15:29 sess etc
15:29 sess sure, i dont know your business
15:29 Guest95242 sess,  that has already been made. even when i didnt joined the company
15:29 Guest95242 they dont migrate easily
15:30 Guest95242 and iam not the only decision maker too :)
15:30 Guest95242 nice point though.
15:30 Guest95242 got to hurry now..
15:30 Guest95242 dinner..
15:44 SoniEx2 joined ##javaee
16:28 cheater_3 Naros: how do you know you've taken care of all edge cases?
16:28 Naros That's what JUnit test cases validate :P
16:28 cheater_3 so are you using the unit test suite from the old api version?
16:29 Naros The service API remains hardly unchanged, so yes.
16:29 cheater_3 interesting
16:29 Naros The UI requirements aren't changing which is what the service tier dictates.
16:29 Naros So as long as the service gives the UI what it expects, I'm good.
16:30 cheater_3 ok
16:30 sfisque cheater_3 : you can never catch ALL edge cases.  if we did, there would never be x.y.Z releases
16:30 sfisque every product would only have X releases with no patches or bug fixes
16:30 cheater_3 i was just wondering how you approached this subject, it's always interesting
16:30 Naros I'm sure there are use cases missed, that's what maintenance is all about :)
16:31 Naros and job security :P
16:31 sfisque and then there are always the interesting "heisenbugs"
16:31 whartung Customers are great for coming up with edge cases. Developers tend to view the world too rationally.
16:31 * Naros agrees with whartung.
16:32 cheater_3 oh i meant old edge cases
16:32 cheater_3 that were solved in the old implementation
16:32 Naros What do you mean my if has to be fuzzy and do this but that specific case, do that and oh by the way, this other condition I should do something entirely unrelated and backward :o
16:32 cheater_3 i was wondering how they carried over to the rewrite, that's all
16:32 Naros In a rewrite, generally old functionality should remain identical unless it's being abolished.
16:33 Naros If the interfaces remain unchanged, that becomes somewhat trivial.
16:33 Naros That's why all our services are derived from interfaces
16:34 Naros Internally they can be changed to do w/e I want without affecting the outside world
16:35 cheater_3 it's just that, quote often tiny edge cases get filed as "bugs", the documentation fails to mention them, and so do tests against the public apis, and so during a rewrite solutions to those edge cases get lost.
16:35 cheater_3 *quite often
16:35 Naros every bug has a test case :P
16:35 Naros that validates that the bug is in fact resolved and addresses the problem.
16:36 Naros at least when it comes to API related stuffs where test cases can be generated
16:36 Naros Otherwise the fix never makes it's way to production.
16:36 sfisque we (the team i work on) just had an interesting revelation.  we're moving to wiring our product to an internally developed SSO, and we asked that team, what is the protocol in question (REST, RMI, SOAP, CORBA, etc?)  they responded taht they exposed a JSON interface, BUT they assumed internal (e.g. our product) would use Spring Remoting instead.   my thought.." so, you decided a third party proprietary api was preferable to using an industry standard?  rii
16:37 * Naros rolls eyes.
16:38 Naros An exposed API should honestly NEVER care about the consumption method.
16:38 sfisque yeah.  my primary thought, "so, i'm just a contractor, and these trained monkeys are architects…."   makes me almost ready to retire from this industry and go pull espresso
16:38 * sfisque hugs naros
16:38 sfisque PREACH ON, BRUTHAH!!!
16:38 Naros yah, overpaid noobs
16:38 Naros the "architects" I mean
16:38 sfisque aye
16:40 sfisque the sad thing is, i've submitted resumes for a couple arch positions around town here, and i always keep running up against the wall of, "so have you done this before".. and my standard answer of "yes, but not in title.  i want to actually hold the title that matches what i'm doing", seems to not get me any traction
16:40 * Naros punches MyEclipse in da face!
16:41 * sfisque holds MyEclipse down so naros can get in a few more kicks
16:41 sfisque vicarious enjoyment
16:41 Naros I really hate it when I change a class, bounce the app server and my changes don't happen.  I add debug statements and do the same process and be damned if the new code gets executed :E
16:42 Naros yah I'm in the same boat sfisque.
16:42 Naros But we have a lot of "unique" cases we do here that I doubt I'd ever do anywhere else E:
16:43 cheater_3 sfisque: just tell them you have. who cares about the title? it's all about the experience
16:43 Naros All because the flippin upper management says that's how it's gotta be, despite whether it's 'right' or 'wrong'.
16:43 cheater_3 they're asking if you've done this, not if you've done this under a specific title, right?
16:45 sfisque the way they ask, they're looking for actually holding that position.  i spend time describing what i've done, but i can tell they're looking for people who've "held the position", sigh
16:45 sfisque i can read it from their language choices during the interview
16:45 whartung ya know what? Back when we were talking SSO and all, we surveyed the landscape, and we chose SAML with all of its warts and such. We could have picked our or, or gone OAuth…but we stuck with SAML.
16:45 cheater_3 sfisque: just lie, they're too stupid to be told the truth
16:46 whartung Know what? We've never been asked for other integrations.
16:46 whartung We did it for ourselves, for our apps
16:46 whartung and when folks see that we have SAML support they're like "Really!??"
16:46 cheater_3 sfisque: if they do find out, you'll have earnt some money, and even if you're fired without references that's beter than being unemployed for just as long
16:46 whartung and off we go doing more SAML integrations.
16:46 sfisque oh, you were asking about the SSO, i was referring to the arch interviews
16:47 whartung I'm talking about the "JSON payload for SSO"
16:47 whartung and I'm like, "WTF?"
16:47 sfisque C3: yeah, but i'm very scrupulous about keeping black eyes off my resume
16:48 sfisque whartung oh yeah. i've no issue with using json (some of our products are heavy client side js, so it makes sense).  i'm just flabergasted that they assume all internal products are built on spring and can trivially integrate spring remoting, WHEN we can just use the impl generic JSON endpoints?  why!?!? WHY!?!??! WHY!!L:!!:!:L!IIIL!:I:L!
16:49 cheater_3 sfisque: worst case scenario you'll have a gap you don't put on your resume.
16:50 whartung well that's my point. One of the bullet point on the box of REST is "Serendipitous reuse". When you actually use standards, you find that others actually use standards, and suddenly new integrations are available that weren't before.
16:50 sfisque gaps can be a black eye.  when you have 20ish years of exp, gaps are red flags
16:50 whartung Like using LDAP on the back for credentials.
16:50 * sfisque nods with whartung
16:50 sfisque preaching to the choir, man.
16:51 sfisque i'm just venting because our east-coast HQ often foists crap on us like this, and it makes my eyeballs twitch
17:06 cem_ joined ##javaee
17:07 cem_ hi pdurbin
17:08 cem_ i'm going to learn database where to start ?
17:11 sfisque javaeebot lucky sql tutorial java
17:11 javaeebot sfisque: http://docs.oracle.com/javase/tutorial/jdbc/basics/processingsqlstatements.html
17:11 sfisque javaeebot lucky sql tutorial complete beginner
17:11 javaeebot sfisque: http://www.sqlcourse.com/
17:13 pdurbin cem_: are you looking to learn SQL or JPA?
17:13 cem_ what is jpa i want to learn database
17:14 cem_ i dont know sql or jpa
17:14 sfisque i'd recommend sql first, since jpa is just objectified sql
17:14 cem_ where to start is it database ?
17:15 sfisque javaeebot lucky launching configuring javadb
17:15 javaeebot sfisque: http://www.oracle.com/technetwork/java/javadb/securitywhitepaper10-159253.pdf
17:15 sfisque java has a db built into it
17:15 sfisque so you can start there.  easier than wrestling with building out a mysql or other instance
17:16 pdurbin or could start with sqlite
17:16 sfisque though that link might not be what we want
17:16 pdurbin javaeebot: lucky sqlite
17:16 sfisque yah sqlite would be good too
17:16 javaeebot pdurbin: http://www.sqlite.org/
17:16 sfisque javaeebot lucky javadb configure launch -security
17:16 javaeebot sfisque: http://netbeans.org/kb/docs/ide/java-db.html
17:17 sfisque nice and done from a netbeans standpoint too
17:17 sfisque double win
17:17 * sfisque does the double win dance
17:18 balazare joined ##javaee
17:24 semiosis anyone tried visualvm 1.3.6?  i can't connect to any local processes except the visualvm itself
17:24 cem_ i'm starting sqlite then javadb :)
17:24 semiosis but 1.3.5 works fine
17:26 pdurbin semiosis: I saw it demo'ed at javaone. seems nice
17:26 pdurbin cem_: good choice
17:26 semiosis pdurbin: well generally visualvm is an excellent tool, but this latest release is a dud afaict
17:26 pdurbin :(
17:34 sfisque semiosis, run it as root, you have to be root to connect via IPC
17:34 semiosis i'll give that a try
17:34 sfisque otherwise you ahve to connect via TCP (treat as remote, use 127.0.0.1 as address)
17:34 semiosis and this is new in 1.3.6?
17:34 sfisque negative
17:34 semiosis um ok
17:35 sfisque it's an arfifact of the underlying OS.  shouldnt matter because you cannot connect to another process unless you own the process or are root
17:35 sfisque or the process opens a world/group readable file socket
17:36 sfisque or they set the perms appropriately on shm/sem
17:36 sfisque but those are huge security holes
17:36 semiosis all processes are running as my user
17:36 sfisque that might be a bug or a "change" then
17:36 semiosis ok
17:36 sfisque "a feature" :P
17:36 semiosis when i'm ready to run again in a few min i'll try sudo visualvm
17:36 sfisque it might be part of the flurry of security patches that went in during the last year
17:41 pdurbin Naros: should I do it? follow that readme? install java 7 and glassfish 4?
17:41 * pdurbin only has java 6 installed
17:41 Naros We use Java7 here.
17:41 Naros Have been for months now.
17:42 pdurbin cool
17:42 semiosis sfisque: same hang with sudo as without :(
17:42 sfisque we recently moved to 7.   other than having to rev primefaces, our app runs fine on 3.1.2.2 on top of 7
17:42 sfisque interesting semiosis
17:42 sfisque using openjdk or oracle jdk?
17:42 semiosis either
17:42 sfisque hrm.  stumped
17:42 sfisque maybe ##java have an answer?
17:42 semiosis yeah me too.  oh well, 1.3.5 is good
17:42 semiosis maybe
17:43 pdurbin good enough
17:43 sfisque 1.3.x is pretty ancient.  i'm running 1.7.x here
17:43 sfisque which came bundled with oracle jdk7
17:43 sfisque 1.7.0_17 build 120605
17:44 cem_ what is difference between oraclejdk vs openjdk ? i downloaded java from oracle website
17:44 pdurbin I'm running the Java 6 that Apple provides. When OS X asks, "Do you want me to install Java for you?" But I don't think Apple provides Java 7
17:44 sfisque open i believe uses "other" libs in place of the com.sun and com.oracle "hidden" imple classes
17:45 sfisque aye, 7 is oracle.  pre 7 is apple provided
17:45 cem_ apple fixes security bug for you
17:46 semiosis sfisque: 1.3.x of what?
17:46 pdurbin I guess I'll try this bundle: JDK 7u45 with NetBeans 7.4
17:47 semiosis sfisque: latest visualvm is 1.3.6 from july of this year
17:47 semiosis http://visualvm.java.net/
17:59 whartung biggest difference between oracle jdk and open jdk is the oracle jdk works
18:05 pdurbin heh
18:06 cem_ Oracle JDK 7 is built from OpenJDK ?
18:07 sfisque rofl whartung
18:07 sfisque semiosis, i guess what the "bundled" version echos out is the "corresponding jdk version" then
18:07 sfisque which is annoying
18:13 whartung traceroute 216.81.59.173
18:13 zoot joined ##javaee
18:13 zoot hai
18:16 sfisque traceroute is blocked here, but that ip maps to Epik Networks, Inc. EPIK-NETWORKS (NET-216-81-48-0-1) 216.81.48.0 - 216.81.63.255
18:17 sfisque 16 x24 cidr blocks
18:17 semiosis ok here's a real question for you javaee experts
18:17 sfisque ** x/24
18:18 sfisque the answer is "4" semiosis
18:18 whartung 4.2
18:18 semiosis i have a sql query that takes 0.05 seconds to execute on the mysql command line, but when i use a nativequery in jpa/hibernate it takes 7 seconds
18:18 semiosis why?
18:18 zoot locking?
18:18 semiosis hmmm
18:18 sfisque serialization/deserialization probably
18:19 sfisque and jta boundaries
18:19 semiosis sfisque: the result is a single int, it's a count query
18:19 sfisque have you wired it up in a profiler?
18:19 semiosis yes
18:19 sfisque take the deep dive and see where the time is spent
18:20 semiosis mysql.jdbc.util.ReadAheadInputStream.fill()
18:20 sfisque there you go.  it's the driver
18:21 sfisque maybe you need a newer driver? different version?
18:21 whartung ints are expensive...
18:21 semiosis i'm going to tcpdump this
18:21 sfisque lol whartung
18:21 semiosis i suspect the counting is happening in java instead of in the db
18:21 sfisque that would be terrible if so
18:21 whartung no
18:21 sfisque i'm guessing there is a bug in the driver
18:22 whartung if you're using "count", it's not hapening
18:23 semiosis originally i was reporting this count by calling size on the collection, letting jpa/hibernate do its thing, but that took 7 seconds
18:23 semiosis so i replaced that with a jpql namedquery, same 7 seconds
18:23 semiosis then a nativequery... same 7 seconds
18:24 semiosis oooh i'm on to something here... i suspect this may have to do with eager fetching while authenticating the request!
18:25 sfisque dun dun dunnnnnnnnn
18:25 semiosis :)
18:26 semiosis yep
18:26 semiosis ok never mind
18:36 semiosis removed the eager fetch (back to lazy now) and the original jpa count takes 5.5 seconds vs. 0.9s for the native query \o/
18:37 zoot \o/
18:37 whartung hiss
18:38 pdurbin zoot is here!
18:38 zoot yay i'm me
18:38 whartung I had a zoot, but it went away after putting some creme on it
18:39 cem_ bye
18:40 zoot whartung: in it*
18:41 semiosis looks like a regular namedquery is just as fast as a nativequery, in this case
18:41 semiosis interesting
18:42 sfisque named queries are precompiled so they should be almost as fast
18:43 sfisque i know jboss and glassfish will precompile them during bootstrapping the war/ear deployment
18:44 zoot they should even be faster than native
18:44 sfisque named queries are still 1 translation layer away.  PQL -> SQL.  native are zero translations away
18:45 semiosis sfisque: still that translation is probably O(1) so i'm not worried about it
18:45 sfisque of course, but i'd be surprised if Named was faster than Native.  i'd argue it will always be a shave slower
18:45 semiosis hmm maybe O(n) when i'm not doing a simple count
18:46 sfisque O(k)
18:46 sfisque :-)
18:46 semiosis zoot: why faster?
18:47 zoot arn't they prepared statements?
18:48 zoot they are sent as non-sql querys to all major dbs
18:48 semiosis i think native queries are as well
18:49 sfisque i would guess that would be an implementation detail (prepared versus precompiled into some intermediary format) of the JPA impl in the container/ear
18:53 zoot Prepared statements are widely supported by major DBMSs, including MySQL,[7] Oracle,[8] DB2,[9] Microsoft SQL Server,[10] and PostgreSQL.[5] Prepared statements are normally executed through a non-SQL binary protocol, for efficiency and protection from SQL injection, but with some DBMSs such as MySQL are also available using a SQL syntax for debugging purposes.[11]
18:53 zoot http://en.wikipedia.org/wiki/Prepared_statement#Software_support
18:54 zoot all i can find on it
19:04 sfisque right but the question is, does the JPA spec require @NamedQuery to be processed into a prepared statement, or are the impl's free to preprocess them however they want (prepared, nothing, intermediary optimized format, etc.)
19:55 Guest95242 joined ##javaee
20:18 zoot now to something else, can a ask my ejb 3.1/ee6 container to process a message at 8:00am or any other time specified for each message?
20:20 acuzio its called a batch service
20:22 zoot isn't that just a timer?
20:22 pdurbin somehow I was thinking "jms timer"
20:23 acuzio it is a timer - a batch service running on time - via cron ; simples
20:24 zoot but timers can only be set at compiletime?
20:24 acuzio what ?
20:25 whartung if you use timers via annotations, yes, that's true
20:25 zoot arent we taling about @schedule?
20:25 acuzio not me
20:26 whartung he's talking about EJB times acuzio
20:26 whartung batch is in JEE 7,
20:26 acuzio whartung: ah
20:26 zoot tell me more
20:26 whartung he's talking JEE6
20:26 acuzio whartung: got you - i came in half way
20:27 whartung JEE 7 has a new facility that doesn't replace EJB Timers, but rather it's a larger background processing system
20:27 zoot i found something called timerservice in ee6
20:27 whartung timer service lets you interact with JEE timers
20:27 whartung you can schedule stuff on the fly if you want
20:27 whartung the key take away about JEE timers
20:28 whartung is that if you have a pending timer in the container, it will persist across container restarts.
20:28 whartung HOWEVER
20:28 whartung they do NOT persist across application redeploys
20:29 whartung @scheudle never made a whole lot of sense to me, the use is just too narrow IMHO
20:35 zoot is it possible to get a callback when the application gets redeployed? and manally save them
20:37 whartung there's two gross areas in JEE where you can be notified that that application is "up".
20:38 whartung one is within the web container. If your JEE app has a web app, as the web app is fired up you can hook in to a SessionContextListener. This will get called with the web app is started and when it is shut down.
20:38 whartung in the JEE container, in JEE 6, you can tie in to the lifecycle of the container with a Singleton Session bean, since these have a normal EJB life cycle, and are ensured by the container to "always exist", and there's only 1 of them (being a singleton)
20:39 zoot oh cool, thanks whartung
20:39 zoot whartung++
20:40 pdurbin there's a reason we keep whartung around
20:40 whartung old school, you would use a customer load-on-startup servlet and leverage it's init() and destroy() method.
20:40 * whartung crawls back in to his box
20:42 acuzio thats not old school
20:43 acuzio JEE and old school haa
20:44 acuzio in my days , we used to scratch on silicon and check if the tides were ok and the moon was in the right quadrant and then send a tiny butterfly fluttering - at the right time it would flip a switch and the service would run
20:44 whartung You had a moon?
20:45 acuzio ha :-)
20:46 whartung we had to reengineer all the servers after the exo-planet impact and having to fight tides and moon phases. Redo the calendar systems was a nightmare...
20:46 acuzio and you chose Julian
20:47 whartung That cursed pope, ruined everything...
20:47 acuzio where do you work  whartung ? (what industry )
20:48 whartung health care -- is there another industry in IT today?
20:48 acuzio Finance
20:48 whartung ah yea
20:48 whartung heard of that
20:48 whartung once..
20:48 acuzio no wonder you know JEE
20:49 * pdurbin muses about git feature branches: http://irclog.greptilian.com/sourcefu/2013-10-24
20:49 acuzio in finance at least where in the areas i work in - JEE is a dirty word - for valid reasons
20:49 whartung why so?
20:49 whartung don't hurt yourself pdurbin -- git and branching.../shudder, dannngerous
20:50 whartung (branching is easy…super easy…trivial easy….merging, on the other hand...)
20:50 acuzio pdurbin: use git only if the folks you work with are reasonably clueful
20:50 acuzio whartung: i work in Trading systems - JEE , container managed
20:50 acuzio nope - too slow and too cumbersome
20:50 whartung yea
20:50 whartung that doesn't surprise me
20:51 whartung and it doesn't bother me either
20:51 acuzio the last time i did JEE - i used Orion ; now that was an AppServer worth using - fantastic piece of kit that was
20:51 whartung omg
20:51 acuzio why
20:54 acuzio i still sometimes use things like JPA , JMS but other than Servlets (which i use regularly via REST) - the rest of the stuff is dead to me
20:55 zoot gah
20:55 zoot rest should a forbidden word, like cloud computing
20:55 zoot should be*
20:58 zoot Oracle Corporation acquired license to the source of Orion in 2001
20:59 acuzio zoot: i know
20:59 acuzio zoot: and no REST should not be a forbidde word
20:59 zoot thats why i have never heard of it :(
20:59 whartung yea, my point about Orion was simply that it's been so long
20:59 acuzio zoot: I was using Orion from around 2002 till about 2004 - at my first job - at oracle
21:01 whartung I don't recall if oracle rebranded orion as their original app server
21:01 whartung but orion was more a servlet container I think rather than a JEE container
21:01 whartung I think REST should be banned from those who aren't actually practicing it.
21:01 whartung when they actually mean "sending stuff over HTTP"
21:01 acuzio nope fully J2EE compliant and ORCL did rebrand it
21:01 whartung ok
21:02 acuzio whartung: re- REST i agree ; sending stuff over http is not REST
21:02 whartung si
21:02 whartung that's my only nit
21:02 acuzio whartung: and as is normal with anything that oracle touches - it became shit
21:02 whartung mind, we do that all the time here…but, such is life
21:02 whartung :)
21:03 zoot rest isn't a protocol, therfore it isn't a word :P
21:03 acuzio the 2 devs who had developed took the boat load of money and basically retired for life
21:03 whartung REST is an architecture
21:03 whartung good for them :)
21:04 acuzio and a pretty good one REST i.e.
21:04 whartung so, what made it so good? what did you like about it?
21:04 whartung orion...
21:04 zoot it was swedish!
21:04 whartung that was such an interesting time
21:04 whartung remember Enhydra?
21:05 zoot wikipedia does
21:05 whartung heh
21:05 zoot http://en.wikipedia.org/wiki/Enhydra_Server
21:06 whartung wow JOnAS is still alive...
21:06 acuzio whartung: it was simple, fast, minimal configuration, worked out of the box and was fully compliant when Weblogic, Websphere were both not and attempting to shove a shit load of crap onto you
21:06 whartung we worked on web logic at the time.
21:07 acuzio I just got lucky that i got into ORCL for my internship and was using Orion during uni so it just sort of nicely blended in
21:07 acuzio WLS was, is and will remain shit
21:08 zoot ;DDD
21:10 acuzio Jetty is my choice now - yes i know its not a fully-compliant JEE server but for what i do - its perfect -
21:10 zoot you are doing web?
21:10 acuzio i want to run my code ; not wade through layers of shit to get to my code
21:10 acuzio zoot: yes i do "web" as well
21:11 zoot yea, it kind of sucks since web tends to be bleedingedge
21:11 zoot i'm a WLS user, and have been for the last four years..
21:11 acuzio its shit
21:13 zoot its war
21:14 zoot phun intended
21:14 sfisque in one ear and out the other.  hopeful you want get sars or eat something rarE
21:15 sfisque :P
21:15 sfisque after putting it i a jar :P
21:15 whartung TMI
21:15 acuzio laters
21:15 whartung tt acuzio
21:27 pdurbin whartung: heh. your "WTF JSON payload for SSO" :)
22:50 Guest95242 joined ##javaee
23:17 sfisque has anyone here used spring remoting in a way where the remote side was using spring remoting and on the client side just talked to the underlying protocol (RMI, JAX-RPC, JMS, whatever)?
23:49 sfisque anyone?
23:51 pdurbin aren't java ee and spring at odds?
23:53 sfisque sort of.  the issue is the previously mentioned identity service exposes an api via spring remoting.  i'd prefer to not pollute our build with spring kruft, and from what i have read, spring remoting is just a wrapper on top of 7 different wire protocols (configurable to which one the service uses).  once i find out "how" they are exposing their API, i'd like to (instead of using spring remoting) just talk directly "to the wire" (e.g. JAX-WS, RMI, JMS, whi
23:54 sfisque but i'm not finding any docs on "how to do that".  which means, i can either draw on someone's knowledge second hand, OR try it out myself
23:54 sfisque and see what happens
23:54 pdurbin or AMQP or ZeroMQ or whatever
23:55 sfisque right
23:55 sfisque there's 7 from what i saw listed: •Remote Method Invocation (RMI). Through the use of the RmiProxyFactoryBean and the RmiServiceExporter Spring supports both traditional RMI (with java.rmi.Remote interfaces and java.rmi.RemoteException) and transparent remoting via RMI invokers (with any Java interface).
23:55 sfisque •Spring's HTTP invoker. Spring provides a special remoting strategy which allows for Java serialization via HTTP, supporting any Java interface (just like the RMI invoker). The corresponding support classes are HttpInvokerProxyFactoryBean and HttpInvokerServiceExporter.
23:55 sfisque •Hessian. By using Spring's HessianProxyFactoryBean and the HessianServiceExporter you can transparently expose your services using the lightweight binary HTTP-based protocol provided by Caucho.
23:55 sfisque •Burlap. Burlap is Caucho's XML-based alternative to Hessian. Spring provides support classes such as BurlapProxyFactoryBean and BurlapServiceExporter.
23:55 sfisque •JAX-RPC. Spring provides remoting support for web services via JAX-RPC (J2EE 1.4's web service API).
23:55 sfisque •JAX-WS. Spring provides remoting support for web services via JAX-WS (the successor of JAX-RPC, as introduced in Java EE 5 and Java 6).
23:55 sfisque •JMS. Remoting using JMS as the underlying protocol is supported via the JmsInvokerServiceExporter and JmsInvokerProxyFactoryBean classes.
23:56 sfisque the issue will be , discovering which protocol they have configured their service to use.  and then reverse engineering a solution on our side.  i'm hoping whichever protocol is used, spring isn't doing any "magic"
23:56 sfisque i'd prefer RMI because that's the most "native" to java and i have a fair amount of xp with it
23:57 sfisque though i have a sneaky suspicion that they have probably leveraged the "spring http invoker"
23:58 sfisque i've never used hessian, and burlap is a "new one" on me
23:58 sfisque i've also used JAX-WS but i doubt the use that one
23:58 sfisque and JMS would be "too tenuous" for this type of service

| Channels | #javaee index | Today | | Search | Google Search | Plain-Text | plain, newest first | summary

Please see http://irclog.greptilian.com/javaee for which days have been logged.