• cheeser
  • ernimril
  • joed
  • kinabalu
  • lunk
  • ojacobson
  • r0bby
  • ThaDon
  • ricky_clarkson
  • topriddy

« 2019-11-07


2019-11-09 »

Nick Message Date
nokdoot [nokdoot!~nokdoot@] has joined ##java [12:13]
dmiles [dmiles!] has joined ##java [12:15]
shicks2525 [shicks2525!~shicks252@2600:1700:2428:20b0:6834:b35a:b2ab:3cd5] has joined ##java [12:15]
tasse [tasse!] has joined ##java [12:18]
con3 [con3!~kvirc@] has joined ##java [12:19]
Nightwing52 [Nightwing52!] has joined ##java [12:20]
Nightwing52 [Nightwing52!~Thunderbi@] has joined ##java [12:29]
Jantz [Jantz!] has joined ##java [12:32]
AMcBain [AMcBain!] has joined ##java [12:33]
makara1 [makara1!] has joined ##java [12:35]
ravenousmoose [ravenousmoose!] has joined ##java [12:41]
newbieG [newbieG!~bhaskar@] has joined ##java [12:47]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [12:53]
indistylo [indistylo!~aruns_@] has joined ##java [12:58]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [01:04]
puppy_za [puppy_za!uid277586@gateway/web/] has joined ##java [01:05]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [01:06]
fairuz [fairuz!~fairuz@unaffiliated/fairuz] has joined ##java [01:15]
glosoli [glosoli!~glosoli@unaffiliated/glosoli] has joined ##java [01:16]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [01:24]
trinityhex [trinityhex!] has joined ##java [01:24]
Gazooo [Gazooo!~Gazooo@] has joined ##java [01:25]
indistylo [indistylo!~aruns_@] has joined ##java [01:29]
sauvin [sauvin!sauvin@about/linux/staff/sauvin] has joined ##java [01:31]
bitwinery [bitwinery!] has joined ##java [01:35]
bitwinery [bitwinery!] has joined ##java [01:36]
rohanrhu [rohanrhu!~rohanrhu@] has joined ##java [01:38]
Karyon [Karyon!~Karyon@unaffiliated/karyon] has joined ##java [01:39]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [01:39]
indistylo [indistylo!~aruns_@] has joined ##java [01:49]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [01:57]
Blankspace [Blankspace!~Blankspac@unaffiliated/blankspace] has joined ##java [01:57]
orbyt_ [orbyt_!~orbyt@] has joined ##java [01:58]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [02:08]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [02:09]
exonity01 [exonity01!uid364582@gateway/web/] has joined ##java [02:13]
palasso [palasso!~palasso@unaffiliated/palasso] has joined ##java [02:16]
Anthaas [Anthaas!~Anthaas@unaffiliated/anthaas] has joined ##java [02:17]
michele [michele!~eraser@unaffiliated/michele] has joined ##java [02:24]
con3 [con3!~kvirc@] has joined ##java [02:25]
currybullen [currybullen!] has joined ##java [02:27]
currybullen i'm working with some legacy code and have introduced a new method in a class thats fairly difficult to instantiate due to questionable design decisions (all constructors take a connectionpool object and attempt to set up database connections). is there a good way of testing the method i've added without mocking the entire world? [02:29]
indistylo [indistylo!~aruns_@] has joined ##java [02:30]
Chepra [Chepra!] has joined ##java [02:35]
rajrajraj How to check if x exists in body of http request in spring boot. Preferably in interceptor.? [02:39]
nfd9001 [nfd9001!] has joined ##java [02:39]
rohanrhu [rohanrhu!~rohanrhu@] has joined ##java [02:47]
paddyez [paddyez!~Patrick-E@wikipedia/paddyez] has joined ##java [02:55]
minos_nl [minos_nl!] has joined ##java [03:03]
sdu [sdu!] has joined ##java [03:05]
hypc [hypc!~Thunderbi@] has joined ##java [03:08]
yawkat put the method into another class [03:09]
royal_screwup21 [royal_screwup21!05947e55@gateway/web/cgi-irc/] has joined ##java [03:38]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [03:39]
immibis [immibis!] has joined ##java [03:43]
nokdoot [nokdoot!~nokdoot@] has joined ##java [03:47]
immibis_ [immibis_!] has joined ##java [03:57]
rruizt [rruizt!] has joined ##java [04:03]
cnsunyour [cnsunyour!] has joined ##java [04:15]
Chuguniy [Chuguniy!~Chuguniy@] has joined ##java [04:19]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [04:31]
makara hi. Anyone familiar with JAXB? [04:31]
makara I got a pack of XSD being processed. Only one of them breaks if it doesn't have `<xs:include schemaLocation="AbstractResponse.xsd"/>` [04:32]
makara but they all have `<xs:extension base="iss:AbstractResponse">` [04:33]
makara I'd assume I have to include something if I want to extend it [04:36]
makara but I see the XSD also has an import mechanism [04:42]
makara [04:42]
makara makara's title: " - View paste q0aBh" [04:42]
ham [ham!~z0mbie@unaffiliated/ragnarokkr] has joined ##java [04:43]
zalt_ [zalt_!~lambda443@unaffiliated/lambda443] has joined ##java [04:48]
makara ok I built with full debugging. Looks like the XSD that fails is the first to be processed. But what determines that order? Its not alphabetical. And yet its the same file every time [04:56]
zulutango [zulutango!] has joined ##java [04:59]
Gazooo [Gazooo!~Gazooo@] has joined ##java [05:07]
Zee- [Zee-!~Zee-@] has joined ##java [05:24]
acidjnk_new3 [acidjnk_new3!] has joined ##java [05:36]
logicmoo [logicmoo!] has joined ##java [05:37]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [05:41]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [05:54]
zalt_ [zalt_!~lambda443@unaffiliated/lambda443] has joined ##java [05:56]
Cahaan [Cahaan!~Cahaan@] has joined ##java [06:01]
newbieG [newbieG!~bhaskar@] has joined ##java [06:01]
sdu [sdu!] has joined ##java [06:03]
black_ant [black_ant!~antilope@unaffiliated/black-ant/x-1505394] has joined ##java [06:07]
progart [progart!~kamee@] has joined ##java [06:13]
kicked progart (Banned: please fix your connection. you're bouncing in and out. this ban will expire after 14d) [06:13]
odinsbane Anybody else on irsii see the ban notification, the same as a tag notification? [06:17]
yawkat dmlloyd: im now the only person in #undertow, maybe you should take it off the website [06:19]
dreamreal ban notification of... what? [06:19]
odinsbane > 11:13 -!- mode/##java [+b *!*@] by ChanServ [06:19]
dreamreal Of progart? yeah [06:20]
dreamreal Why? [06:20]
odinsbane Curiosity. [06:21]
selckin in & out is filtered by default in most clients these days, and the kick+ban is same notification level as a pulbic message, so it goes against the intention, but all clients are diff so [06:21]
dreamreal odinsbane: I saw it, yeah. I used to have weechat filter nicks that were inactive - leading ##java to be *absolutely* silent for hours on end - but turned that off again [06:22]
odinsbane I'm refering to the color. Ill just screen shot it and compre em though. [06:22]
ogradyd [ogradyd!] has joined ##java [06:24]
dreamreal the.... color? [06:24]
selckin higher level like when you get nick highlighted etc probably [06:25]
odinsbane exactly. I cannot tell if it is the same color. [06:25]
mbooth the colour? [06:26]
odinsbane did you just pronounce the 'u'? [06:27]
mbooth And I'd do it again, too! [06:28]
dreamreal odinsbane: that is going to 100% be on your client [06:29]
Peste_Bubonica [Peste_Bubonica!~Peste_Bub@unaffiliated/peste-bubonica/x-4612396] has joined ##java [06:30]
Lengsdorfer [Lengsdorfer!~Lengsdorf@unaffiliated/lengsdorfer] has joined ##java [06:34]
VegetarianFalcon [VegetarianFalcon!uid258908@gateway/web/] has joined ##java [06:34]
Nicmavr [Nicmavr!~Nicmavr@unaffiliated/nicmavr] has joined ##java [06:35]
onu [onu!] has joined ##java [06:41]
yasumi2136 [yasumi2136!~yasumi213@] has joined ##java [06:47]
hussam [hussam!uid193284@gateway/web/] has joined ##java [06:47]
newbieG [newbieG!~bhaskar@] has joined ##java [06:53]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [07:01]
black_ant [black_ant!~antilope@unaffiliated/black-ant/x-1505394] has joined ##java [07:16]
dueyfinster [dueyfinster!~dueyfinst@] has joined ##java [07:26]
dueyfinster parted the channel: "The Lounge -" [07:26]
dueyfinster [dueyfinster!~dueyfinst@] has joined ##java [07:26]
BluesBoy [BluesBoy!] has joined ##java [07:31]
indistylo [indistylo!~aruns_@] has joined ##java [07:37]
cak3st3r [cak3st3r!cak3st3r@gateway/vpn/privateinternetaccess/cak3st3r] has joined ##java [07:41]
TomyWork [TomyWork!~TomyLobo@] has joined ##java [07:56]
DTZUZO [DTZUZO!] has joined ##java [07:57]
indistylo [indistylo!~aruns_@] has joined ##java [07:57]
thief [thief!realtime@gateway/vpn/privateinternetaccess/realtime] has joined ##java [08:09]
zalt_ [zalt_!~lambda443@unaffiliated/lambda443] has joined ##java [08:10]
thief [thief!realtime@gateway/vpn/privateinternetaccess/realtime] has joined ##java [08:12]
thief [thief!realtime@gateway/vpn/privateinternetaccess/realtime] has joined ##java [08:14]
scatterp [scatterp!~scatterp@] has joined ##java [08:20]
LearnAllTheTime [LearnAllTheTime!~LearnAllT@2601:cc:4000:9db0::1dcd] has joined ##java [08:20]
scatterp hi i want to use in a distributed enviroment ie 11 laptops 1 head 10 nodes to build a faster machine suggestions ? [08:22]
odinsbane 20% of the native speed... [08:24]
cheeser tech support [08:24]
cheeser Hello, ##java is not a technical support channel for your Java apps or virtual machines; it's a development channel for enthusiasts to discuss programming with the Java language. Please ask the vendor of your software for support if you're having trouble with it. [08:24]
Tazmain [Tazmain!~Tazmain@unaffiliated/tazmain] has joined ##java [08:25]
Tazmain hi all, if I keep on running into a ` Read timed out` exception, is there a way to debug this and find the cause? I already have my connect time out and read timeout to like 2-3seconds on the rest template [08:26]
mbooth scatterp: Use QEMU instead? [08:26]
lawsa [lawsa!] has joined ##java [08:27]
zeden [zeden!~user@unaffiliated/zeden] has joined ##java [08:27]
dreamreal scatterp: what are you trying to accomplish? [08:31]
scatterp mbooth how would i cluster with that ? [08:32]
dreamreal scatterp: what are you trying to accomplish? [08:33]
mbooth scatterp: Your requirement is "faster machine" -- QEMU+KVM can be very near native speed [08:33]
cheeser this is not a ##java question [08:33]
scatterp i want to take for example 5 machines with 1gb ram and 1 core and end close to 1 virtual machine with 5gb ram and 5 cores [08:34]
dreamreal scatterp: that is not going to happen with JPC. [08:34]
dreamreal next [08:34]
dreamreal Another satisfied customer. Next! [08:34]
scatterp cheeser the java side of the question is about distributing jvms hazelcast terracota djvm etc [08:35]
dreamreal scatterp: *sigh* [08:35]
dreamreal scatterp: terracotta, hazelcast, etc., don't need crap like JPC and in fact JPC would slow them down *dramatically*. [08:36]
scatterp ok [08:36]
dreamreal scatterp: again: what are you trying to *accomplish?* [08:36]
cheeser scatterp: this is a java dev channel. yours is not a dev question. [08:36]
scatterp fuzz testing applications [08:36]
dreamreal scatterp: you can fuzz test without any of those technologies [08:37]
TomyWork so it's parallelizable? just distribute the workload to your 11 laptops [08:37]
dreamreal TomyWork: assumption based on things not in evidence! [08:37]
scatterp instead of individual fuzzers running accross multiple machines not comunicating and repeating work i want to have more like a single machine [08:38]
mbooth scatterp: Like hadoop? [08:38]
mbooth hadoop [08:38]
mbooth can be found at and can be downloaded from there. [08:38]
scatterp mbooth quite probebly [08:38]
dreamreal sighs [08:38]
masuberu [masuberu!] has joined ##java [08:38]
dreamreal mbooth: we need to fix that factoid to ... describe hadoop as well [08:38]
scatterp well i will read it in detail in any case.. [08:39]
masuberu hi, are streams something I could use at any time or should I use them under special cases? [08:40]
mbooth no, hadoop is <reply>Apache Hadoop is a framework that allows for the distributed processing of large data sets across clusters of computers, see [08:40]
mbooth OK, mbooth. [08:40]
cheeser dreamreal: but it should be done with 18 different ~see references [08:40]
dreamreal masuberu: yes. [08:40]
TomyWork masuberu, yes and depends [08:41]
sonOfRa masuberu: say you're writing a regular for loop, like "iterate this list of things, and print something for every item. Use a for loop. [08:41]
sonOfRa No good reason to use streams for such things. Once you need filters and mappings, it can make code more readable, but not necessarily more performant, if that's what you're looking for [08:41]
mbooth dreamreal: There, it's marginally better :-) [08:41]
scatterp dreamreal you mentioned hazelcast or terracotta would slow down jpc dramatically does that mean 10 machines would be slower than 1 ? [08:42]
dreamreal scatterp: in all likelihood, yes. [08:42]
mbooth scatterp: JCP looks like a software x86 emulator, it will be dog slow [08:42]
dreamreal And you have it inverted: JPC would wreck those things. [08:42]
dreamreal scatterp: I have a feeling that you don't need parallel processes *at all* - the negotiation across the network would cost you more time than you'd save. [08:43]
masuberu I went to a hazlecast training the the guy said people normally use it because they have problems with jvm latency... apparently their biggest competitor is azul jvm [08:43]
masuberu jvm latency ~ GC latency [08:44]
dreamreal if hazelcast is able to compete with an azul device I'd be impressed as hell with hazelcast and their architecture [08:44]
dreamreal an azul appliance can and will beat the living shit out of a distributed architecture [08:44]
mbooth masuberu: Even with shenandoah? [08:44]
scatterp dreamreal thanks i think that clarifys things.. [08:44]
masuberu competitors in terms of use cases [08:44]
masuberu I don't know what shenandoah is [08:45]
Maldivia shenandoah [08:45]
Maldivia Maldivia, what does that even *mean*? [08:45]
Maldivia it's a GC introduced in OpenJDK 11 [08:45]
mbooth masuberu: The super-low pause time GC [08:45]
Maldivia jep 189 [08:46]
Maldivia 'JEP 189: Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)' can be found at [08:46]
mbooth No longer experimental I think it was merged in JDK12? [08:46]
cheeser isn't that in Java10 now? [08:46]
cheeser 12, right. [08:46]
cheeser contributed by RH, iirc [08:46]
Maldivia oh 12, I thought it was in 11 as well :D [08:46]
cheeser but *not* included in OracleJDK [08:46]
LaSombra ) [08:46]
indistylo [indistylo!~aruns_@] has joined ##java [08:48]
mbooth Maldivia: It is backported to 8 and 11 too IIRC (Fedora has back-ported builds) [08:48]
masuberu mbooth so coming back to streams, is the performance penalisation linear with the size of the stream? [08:48]
dreamreal masuberu: not necessarily. [08:49]
gareppa [gareppa!~gareppa@unaffiliated/gareppa] has joined ##java [08:49]
masuberu could I use JMH to test the performance impact of using streams? [08:50]
cheeser yes [08:50]
Tazmain so the new GC is in the openjdk 12? [08:51]
mbooth Tazmain: Yes [08:51]
Tazmain oh nice [08:51]
Tazmain mbooth, is it the default ? Or do you still need to enable it [08:52]
ipe [ipe!] has joined ##java [08:52]
LaSombra G1 is the default, IIRC. [08:53]
LaSombra You can use it with -XX:+UseShenandoahGC [08:54]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [08:54]
LaSombra [08:54]
Tazmain This might fix my intelliJ woahs [08:55]
dreamreal So why hasn't anyone written a factoid for shenandoah yet [08:55]
dreamreal gc [08:55]
dreamreal dreamreal, garbage collection is and [08:55]
dreamreal ... and added something to ~gc as well [08:55]
Tazmain geez gc 6 on that first link. [08:55]
dreamreal Tazmain: you have been nominated! Fix the factoids. [08:55]
Tazmain kk [08:56]
fahadash [fahadash!uid44972@gateway/web/] has joined ##java [08:58]
mbooth Tazmain: FWIW, woes! Woahs are the noises you make if you are constantly amazed by stuff ;-) [08:58]
cheeser whoa, actually, but it's not like i'm a pedant or anything. [08:59]
Tazmain oh thanks [08:59]
dreamreal mbooth: and it's "whoa," dumbass! ... note that I despise pedants who correct every last mistake people make, you wankar! [08:59]
dreamreal cheeser++ %5 [08:59]
dreamreal cheeser has a karma level of 1,517, dreamreal [08:59]
Maldivia masuberu: Streams have a bigger initialization cost, but iteration cost is basically the same otherwise [09:00]
mbooth dreamreal: They might not be a native speaker, the word the wanted has more or less the opposite meaning to the one they used. Just tryna be helpful :-) [09:00]
cheeser "trying to be" :D [09:01]
dreamreal You misspelled "trying to" you moran! [09:01]
dreamreal cheeser: GET OUT OF MY HEAD [09:01]
cheeser ... get in to my car ... [09:01]
cheeser boogaloos [09:01]
dreamreal Now you're misquoting Billy Ocean [09:02]
cheeser i am. :) [09:02]
acidjnk_new [acidjnk_new!] has joined ##java [09:02]
mbooth mbooth-- # s/the word the wanted/the word *they* wanted/ [09:03]
mbooth mbooth, you have a karma level of 19 [09:03]
dreamreal mbooth: peel back the curtains too far and all your left with is bones and viscera [09:03]
Tazmain mbooth, well english is not fully native to me. I did however not know it was whoa. [09:03]
dreamreal Tazmain: it was woe! [09:03]
Maldivia I always spell it wow [09:04]
Tazmain dreamreal, did you correct him to whoa? Or was that to correct his spelling mistake? [09:04]
Tazmain so "my intelliJ woes" ? [09:04]
dreamreal I was correcting... I ... don't remember what it was, it was just funny at first and now I'm lost in a maze of twisty passages, all alike [09:04]
dreamreal it should be "intellij woes" yes [09:04]
Tazmain Okay, I am on the same page now. [09:05]
yottabyte [yottabyte!uid195082@gateway/web/] has joined ##java [09:08]
dreamreal now fix the factoids! [09:09]
cheeser woe, sloe down, jeaux [09:09]
cak3st3r [cak3st3r!cak3st3r@gateway/vpn/privateinternetaccess/cak3st3r] has joined ##java [09:10]
mbooth cheeser: That was hard to parse although through tough thorough thought, I managed it. [09:11]
cheeser high fives all around! [09:11]
dreamreal &5! [09:12]
Tazmain ?( ^o^)??(^_^ ) [09:16]
dreamreal I think you just committed a crime. This channel is logged. [09:16]
Tazmain mbooth, now that is a tongue twister [09:17]
mbooth Tazmain: Yeah, making fun of the all the imaginative ways that anglophones pronounce the syllable "ough" :-) [09:18]
Tazmain dreamreal, who me? [09:18]
dreamreal Tazmain: I'm gonna say yes, that .... emoji/whatever that was makes me ill [09:19]
Tazmain it's ascii art. [09:19]
odinsbane some of those characters are out of the ascii range. [09:20]
dreamreal It's still just morally wrong [09:20]
Tazmain It was for the high five. [09:20]
Tazmain dreamreal, care to expand on how it's morally wrong? [09:20]
dreamreal Tazmain: no. If you can't tell it means you're morally deficient and it's a lot more fun for me to place the blame on you. [09:20]
pppingme [pppingme!~pppingme@unaffiliated/pppingme] has joined ##java [09:21]
cheeser interesting [09:21]
cheeser this is all very interesting (not really) but please take it somewhere else. [09:21]
cak3st3r_ [cak3st3r_!~cak3st3r@] has joined ##java [09:21]
Tazmain Aren't morals and ethics actually subjective? [09:21]
dreamreal Tazmain: fix the factoids, geez, so I don't have to [09:21]
mbooth Tazmain: He's just giving you a hard time ;-) [09:21]
dreamreal mbooth ain't wrong [09:22]
selckin Tazmain: free karma if you include emojis in the factoid [09:22]
dreamreal I'd leave 'em in for the implicit humor, too - they'd annoy the crap out of me but that's hilarious :) [09:22]
Tazmain can I remove the java6 uri ? [09:24]
cheeser yes [09:24]
yuljk [yuljk!~yuljk@unaffiliated/yuljk] has joined ##java [09:24]
Anticom [Anticom!~Anticom@] has joined ##java [09:25]
Tazmain gc is garbage collection performance and a low pause time garbage collector [09:26]
Tazmain I already have a factoid named 'gc', Tazmain [09:26]
cheeser "performance" seems a bit unnecessary there. [09:27]
indistylo [indistylo!~aruns_@] has joined ##java [09:28]
gregf_ [gregf_!] has joined ##java [09:28]
Tazmain perhaps, but I am trying to find how to update a factoid. [09:29]
mbooth Tazmain: The javabot is terribly documented. Scroll up for where I edited the hadoop factoid [09:30]
cheeser patches welcome :) [09:31]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [09:31]
Tazmain no, gc is <reply>garbage collection and a low pause time garbage collector [09:31]
Tazmain OK, Tazmain. [09:31]
mbooth cheeser: Tell me where the repo for is [09:31]
mbooth mbooth's title: "Using Javabot Freenode ##java" [09:31]
dreamreal gc [09:32]
dreamreal GC is "Garbage collection," a technology for automatically reclaiming memory when it's no longer being actively used. In Java, there are multiple collectors available, and the JVM will generally choose a good one for you. See for more. [09:32]
dreamreal mbooth: it's not in a repo, is wordpress [09:32]
mbooth Exactly! [09:32]
mbooth How can I submit a PR? [09:32]
dreamreal mbooth: talk to the maintainer (i.e., yawkat) [09:32]
cheeser mbooth: no idea [09:33]
mbooth Well, it's not like I've been belly-aching about the javabot documentation in here for 6 months. Oh wait... [09:33]
cheeser and you still haven't submitted a patch... [09:33]
mbooth And still no one can tell me how to improve it :-/ [09:33]
cheeser source [09:33]
cheeser you can download my source at [09:33]
cheeser "docs" are there. [09:33]
mbooth help [09:33]
mbooth For a FAQ and a quick tutorial on how to use javabot, see: [09:33]
cheeser is largely orthogonal [09:33]
Jantz [Jantz!~IceChat9@2407:7000:8d04:100:39f8:9167:53e0:ff2b] has joined ##java [09:34]
dreamreal gc [09:34]
dreamreal GC is "Garbage collection," a technology for automatically reclaiming memory when it's no longer being actively used. In Java, there are multiple collectors available, and the JVM will generally choose a good one for you. See for more. For Java 12 and later, there's also Shenandoah, an experimental GC: [09:34]
dreamreal better? [09:34]
mbooth cheeser: I tried filing bugs against javabot, but they also went ignored, so I don't hope to get patches merged [09:34]
cheeser not ignored. just backlogged. [09:35]
cheeser there've been fixes going in. [09:35]
mbooth Right, scheduled for Q5 probably [09:35]
cheeser but, you know, people are busy. "patches welcome" [09:35]
Tazmain dreamreal, the main website for sehnandoah don't list it is still experimental ? [09:35]
cheeser personally, i've been balls to the wall with morphia for a year now. there are simply more important things than javabot for me. dreamreal has been doing (mostly) good work in the interim. [09:36]
cheeser so, yeah, blame that guy! [09:36]
dreamreal mbooth: why don't you write up what changes you'd make, and send them to yawkat? I *may* even still have update privileges on the blog [09:36]
cheeser glares at dreamreal [09:36]
dreamreal gc [09:36]
dreamreal GC is "Garbage collection," a technology for automatically reclaiming memory when it's no longer being actively used. In Java, there are multiple collectors available, and the JVM will generally choose a good one for you. See for more. For Java 12 and later, there's also Shenandoah, a low latency GC: [09:36]
dreamreal cheeser: ... what? [09:36]
mbooth cheeser: FYI my bug was the help link was broken, and no-one could even post a one sentance reply saying "oh that's a factoid, change it yourself" -- so I'm not confident that bugs are even being read [09:37]
dreamreal I was staying out of the discussion, for obvious reasons [09:37]
dreamreal mbooth: they're being read [09:37]
Raptors [Raptors!] has joined ##java [09:37]
dreamreal we just ... usually... have jobs [09:37]
dreamreal had a hard time typing that [09:37]
mbooth But you time to tell me to file bugs or submit patches ;-) [09:38]
Tazmain wonders why shenandoah is not in openjdk 13 [09:38]
mbooth You can see my problem ;-) [09:38]
cheeser ffs, dude. file a patch or send money if it's that urgent. [09:38]
dreamreal esp send money [09:38]
cheeser fuck. it's open source. take some initiative. [09:38]
dreamreal my paypal is... [09:38]
Tazmain oh it is in 13. [09:39]
mbooth cheeser: It's not, just pointing out the hypocritical nature to say "send patches" but not say "fix it like this" [09:39]
dreamreal mbooth: we didn't (and can't) triage everything immediately [09:39]
cheeser it's not hypocritical at all. [09:39]
mbooth cheeser: Even if it's not hypocritical, it's actively unhelpful. I filed a bug asking where the code was I needed to change, if you can't answer that, I can't submit patches [09:40]
cheeser there's not that much code there, dude. i don't have time to hold hands. [09:41]
mbooth It turned out i didn't need to change any code, but I wasn't psychic enough to know that. [09:41]
dreamreal we weren't either [09:41]
dreamreal again, triage is a thing, so is time [09:41]
manualcrank [manualcrank!] has joined ##java [09:42]
mbooth And yet, here you've all spent time telling me to send patches every time I bring it up ;-) [09:42]
mbooth Oh well [09:43]
dreamreal mbooth: open source sucks sometimes. [09:43]
mbooth Yeah, true. I give up trying to contribute [09:43]
dreamreal mbooth: *sigh* [09:43]
cheeser \_(?)_/ [09:43]
cheeser *I* don't spend much time on the bot lately because, quite frankly, morphia is more important for actual real use cases. [09:43]
dreamreal I've been spending time on it because there're a few features that bug me, but normally I just let it run too [09:44]
plarsen [plarsen!~plarsen@redhat/jboss/pdpc.professional.plarsen] has joined ##java [10:01]
KeyJoo [KeyJoo!~KeyJoo@] has joined ##java [10:04]
NetGirl [NetGirl!~NetGirl@unaffiliated/netgirl] has joined ##java [10:07]
indistylo [indistylo!~aruns_@] has joined ##java [10:09]
Rapture [Rapture!] has joined ##java [10:11]
con3 [con3!~kvirc@] has joined ##java [10:21]
newbieG [newbieG!~bhaskar@] has joined ##java [10:24]
zeden [zeden!~user@unaffiliated/zeden] has joined ##java [10:32]
cak3st3r__ [cak3st3r__!cak3st3r@gateway/vpn/privateinternetaccess/cak3st3r] has joined ##java [10:34]
srm [srm!~srm@unaffiliated/srm] has joined ##java [10:35]
cfoch [cfoch!uid153227@gateway/web/] has joined ##java [10:36]
kindling [kindling!YzZPW6Yz@unaffiliated/kindling] has joined ##java [10:37]
ham [ham!~z0mbie@unaffiliated/ragnarokkr] has joined ##java [10:37]
jamezp [jamezp!~jamezp@redhat/jboss/jamezp] has joined ##java [10:40]
greggerz [greggerz!~greggerz@unaffiliated/greggerz] has joined ##java [10:42]
indistylo [indistylo!~aruns_@] has joined ##java [10:47]
LunarJetman [LunarJetman!] has joined ##java [10:51]
NetGirl [NetGirl!~NetGirl@unaffiliated/netgirl] has joined ##java [10:54]
gelignite [gelignite!] has joined ##java [10:55]
progart [progart!~kamee@] has joined ##java [10:56]
kicked progart (Banned: please fix your connection. you're bouncing in and out. this ban will expire after 14d) [10:56]
x256 [x256!] has joined ##java [10:57]
plitter I'm making a custom collector and on the step of making the combiner for 2 maps, which basically goes like this (result1, result2) -> { result1.entrySet().stream().forEach(entry -> { result2.computeIfAbsent(entry.getKey(), e -> new Map()).add(entry.getValue)); }); return result2; } but this would make a a new map and where I could have just used the result from entry. Anyone have a good way to do [10:59]
plitter that? the map values are sets in my case, so I'm not worried about duplicates just the doing the same operation twice or creating an unnecessary set [10:59]
drewery I'm making a custom collector and on the step of making the combiner for 2 maps, which basically goes like this (result1, result2) -> { [11:01]
drewery Note to self: don't freaking highlight peoples text when reading on console [11:02]
drewery \ [11:02]
plitter highlighting is fine :) issue is what you do after you've highlighted [11:03]
plitter I actually miss the functionality of windows cmd where you highlight the text, right click and it is in the paste buffer. [11:04]
plitter But not going out of my way to replicate that on my linux machine though :P [11:04]
plitter I guess same for inserting copied text that you just rightclick again [11:05]
sbalmos [sbalmos!] has joined ##java [11:05]
mizi [mizi!] has joined ##java [11:09]
acidjnk_new [acidjnk_new!] has joined ##java [11:11]
DTZUZO [DTZUZO!] has joined ##java [11:12]
SpiceMan plitter: you don't like select, middle-click? [11:22]
SpiceMan (it's already in the clipboard when you selected it, in linux. and you paste it with middle-click) [11:23]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [11:23]
plitter true, it is more that it is slightly harder to delete when it is in the clipboard pastebuffer [11:24]
SpiceMan what do you mean by delete? [11:25]
plitter I've had my share of marking, then trying to change the webaddress and the "main" pastebuffer is being overwritten... [11:25]
plitter f.ex. you have link from irc that you just highlighted go to firefox, ctrl-l and it is gone.... [11:27]
SpiceMan plitter: ah, well, you have two clipboards :p. use the DE clipboard instead of the X selection for that [11:28]
SpiceMan (which would involve a shortcut, but well...) [11:30]
sleepywitch [sleepywitch!] has joined ##java [11:30]
plitter True, true, it is just something I've been doing sometimes, strictly speaking I should have a parser that went through the current screen and cheking for links and launch it in firefox, but I haven't bothered to set it up, there is a lot to learn..... [11:31]
adder` [adder`!~adder@gateway/tor-sasl/adder] has joined ##java [11:32]
SpiceMan well, depends on your terminal too. gnome's terminal lets you ctrl-click the links [11:33]
cheeser interesting [11:33]
cheeser this is all very interesting (not really) but please take it somewhere else. [11:33]
plitter clipboards are interesting, but I would like an answer to my question more :) [11:41]
bluezone What are some possible causes of a @Resource class field being null at runtime (i.e. not being injected) [11:41]
bluezone Not quite sure where to start to be honest [11:41]
mbooth bluezone: It may help to know from what library or framework @Resource is? :-) [11:43]
ahilman [ahilman!~ahilman@] has joined ##java [11:43]
bluezone mbooth: javax.ejb.SessionContext; [11:43]
bluezone Is there a particular place where these injections are defined or it's more or less black box stuff? [11:44]
bluezone resource [11:46]
bluezone bluezone, what does that even *mean*? [11:46]
bluezone injection [11:47]
bluezone bluezone, what does that even *mean*? [11:47]
plitter bluezone: [11:47]
neckutrek [neckutrek!54d8ce35@gateway/web/cgi-irc/] has joined ##java [11:47]
plitter if that helps :) [11:47]
bluezone Thanks, yeah I've seen this already. Nice to see some calm folks in ##java [11:49]
mbooth dependecy injection [11:50]
mbooth mbooth, what does that even *mean*? [11:50]
mbooth di [11:50]
mbooth Dependency injection is a pattern by which object relationships are managed by a framework rather than the objects that use the relationship. It's a core pattern in Java, and it's VERRRRY powerful. Ask about ~javax.inject, ~guice, ~dagger, ~pico, ~spring, ~cdi, and ~feather. [11:50]
mbooth javax.inject [11:50]
mbooth mbooth, javax.inject is a standard for dependency injection in java (JSR 330 ). It is implemented by most java DI frameworks. See ~di. [11:50]
mbooth bluezone: Well, pretty quickly got into a infinite loop there ;-) [11:51]
plitter learning by repeating, works very well for kids ;) [11:51]
plitter and adults, [11:52]
plitter and others ;) [11:52]
Sheilong [Sheilong!uid293653@gateway/web/] has joined ##java [11:56]
zalt [zalt!~lambda443@unaffiliated/lambda443] has joined ##java [11:58]
bluezone ejb [11:58]
bluezone bluezone, ejb is Enterprise Java Beans. See [11:58]
zalt question about DI containers: are they designed in a way so that it is possible to replace a dependency by shadowing it or something? [12:00]
dreamreal zalt: dependency in what sense? [12:00]
zalt for example suppose i depend on a DI container to initialize my logger, and in one place in the code i want to use a different logger [12:00]
dreamreal depends on your object model... and by "logger" what do you mean? [12:01]
dreamreal I mean, depending on your object model, you'd do myThing.setLogger(otherLogger); [12:01]
zalt so, in typical implementations this issue is not addressed? (they assume there's just one true version of a dependency in a global-ish state) [12:02]
dreamreal they... do not at all [12:02]
dreamreal that's sort of their whole point [12:02]
Mrkkk [Mrkkk!~Mrkkk@240e:390:e2a:8970:2239:56ff:fe89:6835] has joined ##java [12:04]
zalt that's lame [12:04]
dreamreal what's lame? [12:04]
zalt that this issue is not addressed [12:04]
dreamreal What issue isn't addressed? [12:05]
zalt my example of a logger [12:05]
zalt what do you mean by "that's sort of their whole point" [12:05]
dreamreal I mean, if you have multiple loggers in your configuration, it's pretty easy to have the DI inject whichever logger you specify. It's definitely "addressed." [12:05]
dreamreal They do not assume there's "one true version" of a dependency. They're designed to provide the ability to use dependencies WITHOUT that. [12:06]
zalt configuration where? [12:06]
dreamreal So I'm not sure what you're saying here, because you're saying "I want feature X" and ... pretty much every DI provides that feature [12:06]
zalt can we take something concrete, Spring for example [12:06]
dreamreal sure. @Qualifier("SpecificName") <-- boom. [12:07]
zalt how would you do that? (i'm not using Spring i'm just wondering about how their implementation works) [12:07]
dreamreal It looks up the name based on the qualifier you specify. [12:07]
bluezone all these beans are giving me a headache [12:07]
LKoen [LKoen!] has joined ##java [12:08]
zalt nice, sorry i misunderstood your statement [12:08]
bluezone Supposedly the resources are not being injected because my class is not an EJB [12:09]
dreamreal bluezone: s/EJB/managed bean/ <-- more likely [12:09]
dreamreal or you're managing it the wrong way [12:09]
dreamreal but as I don't see what you're doing, I can't really tell you more than that [12:10]
bluezone This is basically my first day learning about it so I have no idea :/ [12:10]
dreamreal EJBs are all managed, not all managed beans are EJBs [12:10]
dreamreal but if you don't let the container manage the references, injection isn't going to happen (same as with DI) [12:10]
bluezone How could I create a simple EJB that would inject a @Resource javax.ejb.SessionContext context; [12:12]
bluezone [12:13]
fourroot [fourroot!~fourrooot@] has joined ##java [12:14]
fourroot hello [12:14]
fourroot | is this code vulnerable ? can user tamper and fetch other database info ? [12:14]
mbooth fourroot: This is not a Java question [12:15]
fourroot its a java code, innit >? [12:15]
boxscape [boxscape!58823b66@gateway/web/cgi-irc/] has joined ##java [12:15]
mbooth fourroot: No, it might be Javascript though [12:15]
bluezone dreamreal: the server fails to start because there's some final method in a superclass supposedly "Failed to process business interfaces for EJB class class rest.MfaCheckFilter, Business view method doFilter declared final in rest.MfaCheckFilter"}" [12:15]
fourroot oh sorry lemme switch channel [12:15]
dreamreal bluezone: well, stop making it final? [12:16]
dreamreal I mean... [12:16]
indistylo [indistylo!~aruns_@] has joined ##java [12:16]
bluezone Well it's a library method of apache shiro [12:17]
dreamreal then maybe it's not a good candidate. I dunno. Gotta go. [12:17]
bluezone allright cyu thanks [12:17]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [12:17]
x256 Spent half a day debugging a strange error that should not be possible... in the end, it was caused by a corrupted build cache. Cleaning and rebuilding everything fixed it. Should have tried that sooner, instead of questioning my sanity. [12:18]
bluezone project -> clean solves everything :) [12:18]
Maldivia yep - those happens [12:18]
naquad [naquad!~naquad@] has joined ##java [12:19]
naquad hi. i [12:21]
x256 I had wireshark dumps, TRACE level logs and an application snapshot ready to submit to the jetty guys... Could even reproduce the bug. Lots of work for noth.. okay for a learning experience. [12:22]
boxscape Say I have a method "static <A> Function<A,A> id() {return x-> x;}". I can then make a local variable "var identity = id()", and use it in terms like "identity.apply(4)". If I wanted to write the full type instead of `var`, what would that be? [12:22]
Maldivia x256: mvn clean package is usually my first go to command if something like this happens :D [12:22]
boxscape I would expect something like Function<A, A>, except of course A is not in scope [12:24]
x256 Maldivia: The CI/CD pipeline showed a similar bug, so i was SO sure ... but yes, I'll remember that for next time. I actually already know that. Was too focused and forgot to take a step back now and them. [12:24]
Maldivia boxscape: identity would be a Function<Object,Object> in your case [12:24]
boxscape oh, I see, interesting [12:24]
naquad i'm not java proficient but a friend of mine is asking about some java book titles. he's passing a course on java basics, but this course doesn't include recommendations on side reading. he's particularly interested in the following topics: java lanuage with all the latest perks, common algorithms (lists, arrays, sorting and etc... to be aware on how's that implemented), app architecture (like how to structure application classes and packages) and [12:24]
naquad concurrency. any recommendations? [12:24]
Maldivia boxscape: also hint - Function.identity() exists :D [12:24]
boxscape Maldivia yeah I guess I could have used that, huh [12:25]
Maldivia boxscape: similar var list = new ArrayList<>(); <-- this becomes a List<Object> [12:26]
boxscape okay [12:26]
Maldivia well, ArrayList<Object> [12:26]
mbooth jcip [12:26]
mbooth naquad, jcip is Java Concurrency In Practice, a book focused on implementing threaded and concurrent applications in Java. You can read more at and buy a copy at [12:26]
Maldivia boxscape: basically, since both left and right side rely on the other to determine the type, the type becomes the bound [12:26]
mbooth naquad: TBH this is the only Java book I ever owned. [12:27]
boxscape Maldivia I see [12:27]
indistylo [indistylo!~aruns_@] has joined ##java [12:27]
naquad thanks! goes to the list, other points are being googled :) it's just a ton of results so i can't figure out on my own :( [12:27]
con3 [con3!~kvirc@] has joined ##java [12:27]
Maldivia books [12:28]
Maldivia Some good java books are listed at Also see ~general books [12:28]
naquad thank you! [12:28]
Maldivia boxscape: if using var, IDEA (and probably other IDEs as well) will show the inferred type if you hover over the variable name [12:30]
boxscape Maldivia ah, neat [12:31]
IRCNew [IRCNew!] has joined ##java [12:31]
Maldivia boxscape: ok, for me I have to press ctrl when hovering for it to show the type :D [12:32]
cheeser at least in kotlin source, IDEA just shows the inferred types inline automatically [12:32]
Maldivia there might be a setting for that as well -- I've removed most of those, I find them very annoying :D [12:33]
cheeser i find it messes with the line length indicator ;) [12:35]
Maldivia boxscape: -- this is when bringing up the "docs" for id [12:35]
mbooth cheeser: File a bug ;-) [12:35]
RedSoxFan07 [RedSoxFan07!] has joined ##java [12:36]
boxscape Maldivia yeah I'm using Eclipse, don't have it on this PC right now but should be very similar [12:36]
Maldivia cheeser: I dislike the one that shows parameter names, because it messes with length, yeah [12:36]
veegee [veegee!] has joined ##java [12:58]
led_dark_1 [led_dark_1!~Thunderbi@] has joined ##java [01:01]
ivan18m [ivan18m!~ivan18m@unaffiliated/ivan18m] has joined ##java [01:03]
srisri [srisri!~srisri@] has joined ##java [01:06]
indistylo [indistylo!~aruns_@] has joined ##java [01:08]
sdu [sdu!~doo@] has joined ##java [01:14]
makara1 [makara1!~sol@] has joined ##java [01:15]
whaley [whaley!~whaley@] has joined ##java [01:16]
HumanG33k [HumanG33k!~HumanG33k@] has joined ##java [01:16]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [01:16]
HumanG33k [HumanG33k!~HumanG33k@] has joined ##java [01:18]
naquad parted the channel: "Leaving" [01:20]
orbyt_ [orbyt_!~orbyt@] has joined ##java [01:21]
newbieG [newbieG!~bhaskar@] has joined ##java [01:25]
srisri [srisri!~srisri@] has joined ##java [01:26]
lucid-lullaby [lucid-lullaby!lucid-lull@gateway/vpn/privateinternetaccess/lucid-lullaby] has joined ##java [01:26]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [01:28]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [01:30]
rippa [rippa!] has joined ##java [01:30]
puppy_za [puppy_za!uid277586@gateway/web/] has joined ##java [01:43]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [01:45]
Jantz [Jantz!~IceChat9@2407:7000:8d04:100:39f8:9167:53e0:ff2b] has joined ##java [01:47]
gareppa [gareppa!~gareppa@unaffiliated/gareppa] has joined ##java [01:47]
LearnAllTheTime [LearnAllTheTime!~LearnAllT@2601:cc:4000:9db0::1dcd] has joined ##java [01:50]
hypc [hypc!~Thunderbi@] has joined ##java [01:51]
indistylo [indistylo!~aruns_@] has joined ##java [01:52]
ravenousmoose [ravenousmoose!] has joined ##java [02:06]
Sasazuka [Sasazuka!~Sasazuka@unaffiliated/sasazuka] has joined ##java [02:06]
sleepywitch [sleepywitch!] has joined ##java [02:06]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [02:09]
newbieG [newbieG!~bhaskar@] has joined ##java [02:13]
madflavor i know you can't create an abstract field in java but.... [02:19]
madflavor how do i create similar functionality? i have a superclass, and i want to declare that all of the subclasses have a certain constant field. [02:19]
madflavor i.e., it must be not null and immutable, and static [02:20]
ernimril madflavor, interface that declares a bunch of methods that you use instead of the field (or abstract methods if you really need to subclass) [02:22]
aaronbond [aaronbond!~aaronbond@] has joined ##java [02:23]
madflavor thanks [02:24]
ernimril madflavor, there may be other ways depending on your exact needs, but interface is probably the cleanest as far as I can understand from the tiny information you have provided [02:26]
madflavor yeah i know i didnt provide much info [02:26]
madflavor your suggestion of using abstract methods works fine for me. [02:26]
ham [ham!~z0mbie@unaffiliated/ragnarokkr] has joined ##java [02:27]
indistylo [indistylo!~aruns_@] has joined ##java [02:33]
bravoslo [bravoslo!~bravoslo@] has joined ##java [02:37]
zalt [zalt!~lambda443@unaffiliated/lambda443] has joined ##java [02:39]
Rapture [Rapture!] has joined ##java [02:41]
TheBeastie [TheBeastie!] has joined ##java [02:50]
Simonsen [Simonsen!~Simonsen@unaffiliated/simonsen] has joined ##java [02:51]
ravenousmoose [ravenousmoose!] has joined ##java [02:55]
freebds [freebds!6f7ddd41@] has joined ##java [03:00]
aaronbond [aaronbond!~aaronbond@2a03:2880:11ff:1d::face:b00c] has joined ##java [03:00]
freebds parted the channel: [03:00]
freebds [freebds!6f7ddd41@] has joined ##java [03:01]
freebds why is java pass by value? [03:02]
ernimril freebds, because the developers of java decided that it should be. It makes the language easier [03:03]
indistylo [indistylo!~aruns_@] has joined ##java [03:04]
realtime_ [realtime_!realtime@gateway/vpn/privateinternetaccess/realtime] has joined ##java [03:09]
freebds how is it easier brother [03:10]
ernimril you as a developer never have to think about passing a pointer to an object or passing the object as a value [03:12]
cheeser and partly because java doesn't have "pointers" in the C sense of the term [03:13]
freebds yes [03:14]
AMcBain [AMcBain!] has joined ##java [03:15]
realtime [realtime!realtime@gateway/vpn/privateinternetaccess/realtime] has joined ##java [03:16]
freebds what would have happened if java would have been pass by reference? [03:17]
cheeser rampaging wildfires and general ecological collapse [03:17]
freebds D [03:17]
yawkat almost no modern language is pass by reference [03:19]
wedr java.lang.ref.WeakReference [03:20]
wedr Well, there's an extreme reference in java. java.lang.ref.SoftReference [03:20]
cheeser EXTREME REFERENCING! [03:21]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [03:21]
freebds i am preparing for ocp 11 . Cannot find notes on the new features. [03:22]
freebds has anyone attempted the exam? [03:22]
cheeser i've been doing java since 1996. so no. :) [03:22]
wedr "what exam?" -said the examinee [03:22]
freebds i have been doing java since 2018 :p [03:23]
wedr Doing Java since 2019 [03:23]
yawkat dont bother with oracle certs [03:23]
indistylo [indistylo!~aruns_@] has joined ##java [03:24]
freebds i want to do it to learn the language , minute details [03:24]
cheeser then study the jls [03:24]
freebds like i never knew try with resources existed. [03:24]
cheeser since java 7 [03:24]
cheeser iir [03:25]
cheeser c [03:25]
yawkat thats hardly a minute detail [03:25]
yawkat minute details you learn in oracle exams are exactly how nested, brace-less if statements are evaluated [03:25]
yawkat also known as "who the fuck cares just add braces" [03:25]
DTZUZO [DTZUZO!] has joined ##java [03:25]
cheeser the useless shit [03:25]
freebds cheeser bro do you work for google, facebook? [03:27]
freebds i want to work for google :) so that i can afford to buy a house [03:28]
freebds i am heavily underpaid [03:28]
ricky_clarkson yawkat: if (..) { else { if (..) { .. } } [03:29]
ricky_clarkson I work for Google and bought a house [03:29]
cheeser ease up on the "bro," dude. [03:29]
freebds i am new to irc [03:29]
con3 [con3!~kvirc@] has joined ##java [03:29]
freebds is bro forbidden? [03:29]
cheeser it's annoying [03:30]
freebds ok [03:30]
freebds how about sir? [03:30]
ricky_clarkson How about not assuming a gender, man? [03:30]
freebds ok [03:31]
jmorris [jmorris!uid374834@gateway/web/] has joined ##java [03:31]
ricky_clarkson I like to identify as whichever bathroom is least crowded [03:31]
freebds p [03:31]
freebds i am new to irc groom me old people. [03:32]
freebds but dont kill me [03:33]
ricky_clarkson throws an exception at "groom me" [03:33]
waz [waz!~waz@pdpc/supporter/active/waz] has joined ##java [03:36]
tang^ seconded [03:37]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [03:42]
freebds i have a lot of question. hope you good people of freenode will answer them. i'll ask few everyday so that i dont bore you. [03:44]
cheeser just ask. we don't need the autobiography. [03:44]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [03:44]
bluezone Is there any medication I can take for EJB headache? [03:45]
freebds yes [03:45]
indistylo [indistylo!~aruns_@] has joined ##java [03:54]
minos_ [minos_!] has joined ##java [04:19]
Nicmavr [Nicmavr!~Nicmavr@unaffiliated/nicmavr] has joined ##java [04:29]
NetGirl [NetGirl!~NetGirl@unaffiliated/netgirl] has joined ##java [04:31]
indistylo [indistylo!~aruns_@] has joined ##java [04:44]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [04:50]
HumanG33k [HumanG33k!~HumanG33k@] has joined ##java [04:51]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [04:57]
Xiti [Xiti!~Xiti-@unaffiliated/xiti] has joined ##java [05:04]
indistylo [indistylo!~aruns_@] has joined ##java [05:15]
rohanrhu [rohanrhu!~rohanrhu@] has joined ##java [05:28]
Nicmavr [Nicmavr!~Nicmavr@unaffiliated/nicmavr] has joined ##java [05:29]
emmanuelux [emmanuelux!] has joined ##java [05:31]
jaskal [jaskal!jaskal@unaffiliated/jaskal] has joined ##java [05:34]
wyre parted the channel: [05:34]
fstd_ [fstd_!~fstd@unaffiliated/fisted] has joined ##java [05:39]
Crash1hd [Crash1hd!~Crash1hd@unaffiliated/crash1hd] has joined ##java [05:42]
wyre [wyre!wyre@gateway/shell/xshellz/x-wqzabgbftrlgwnbd] has joined ##java [05:42]
Nicmavr [Nicmavr!~Nicmavr@unaffiliated/nicmavr] has joined ##java [05:43]
royal_screwup21 [royal_screwup21!89de72f4@gateway/web/cgi-irc/] has joined ##java [05:45]
indistylo [indistylo!~aruns_@] has joined ##java [05:45]
paddyez [paddyez!~Patrick-E@wikipedia/paddyez] has joined ##java [06:11]
fstd [fstd!~fstd@unaffiliated/fisted] has joined ##java [06:15]
ham [ham!~z0mbie@unaffiliated/ragnarokkr] has joined ##java [06:15]
indistylo [indistylo!~aruns_@] has joined ##java [06:16]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [06:20]
Zta77 [Zta77!] has joined ##java [06:29]
Zta77 How do I deserialize this JSON with Jackson? I'm challenged because there's no key for the two values in each order: { orders: [ [ '0.03142500', 16.5322 ], [ '0.03143140', 0.14561998 ], [ '0.03144000', 149.2466 ] } I'd like to have in end up in a class Order { double price, amount; } [06:31]
dreamreal uhhh [06:34]
dreamreal that looks like a terrible class. Orders would be an array of heterogenous arrays. [06:34]
dreamreal write a deserializer that converts the String, double into two doubles. [06:34]
Zta yes, it's terrible all right. [06:34]
Zta I need a custom Deserializer for this crap. [06:36]
dreamreal yep. they're easy to write though. [06:37]
Zta It's just that I cannot figure out how to make one, that returns a List<Order>. [06:37]
dreamreal Deserialize the nodes, not the orders [06:38]
dreamreal all you care about is ['1.0182', 0.912], deserialize that, let jackson worry about the rest [06:39]
Zta That's what I'm trying to, but it keeps deserializing the array of Orders. So I've added my deserializer like this: module.addDeserializer(Order.class , new OrderDeserializer());. And mu OrderDeserializer looks like this: [06:42]
Zta But the while-loop keep processing every Order in the array [06:42]
dreamreal so the while() is wrong [06:45]
dreamreal fix it [06:45]
Zta So I changed the loop's conditions to: while ( p.currentToken() != null && order == null ) { and now I'm getting each Order returned, but instead I hit an OOM =\ [06:45]
indistylo [indistylo!~aruns_@] has joined ##java [06:46]
Zta So I was thinking perhaps I'm doing this wrong all together [06:46]
dreamreal you may be [06:46]
Zta It's a very compact model, but it's also sick. Unfortunately it's out of my hands to fix it. [06:47]
Zta Oh, looks like I fixed it. [06:51]
Zta The parser that is. [06:51]
newbieG [newbieG!~bhaskar@] has joined ##java [06:54]
wyre why netbeans can use a known host file to connect via sftp? [07:01]
rruizt [rruizt!] has joined ##java [07:02]
Zta okay, that Deserializer could be optimized: [07:07]
matsurago [matsurago!~matsurago@240b:10:b3a1:1700:9178:9a4d:c9fd:214f] has joined ##java [07:25]
jamezp [jamezp!~jamezp@redhat/jboss/jamezp] has joined ##java [07:34]
javabot [javabot!~javabot@unaffiliated/javabot] has joined ##java [07:49]
sleepywitch [sleepywitch!] has joined ##java [07:49]
dreamreal ++ [07:49]
dreamreal cheeser++ [07:49]
dreamreal javabot has a karma level of 369, dreamreal [07:49]
dreamreal cheeser has a karma level of 1,518, dreamreal [07:49]
ham [ham!~z0mbie@unaffiliated/ragnarokkr] has joined ##java [07:53]
acidjnk_new [acidjnk_new!] has joined ##java [07:54]
iam730 [iam730!] has joined ##java [07:58]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [08:00]
bn_work [bn_work!uid268505@gateway/web/] has joined ##java [08:08]
bn_work hi, has anyone seen (Digicert High Assurance) CA certs in the keystore not actually matter? ie: java app connects via HTTPS to a server but gets a PKIX error unless I explicitly add the server cert itself via `keytool -import -file ... -keystore ...`? Note, I have verified the SHA1 hash of the CA cert in the browser matches the SHA1 hash shown in the Java keystore for that CA cert. [08:13]
Bebef [Bebef!] has joined ##java [08:14]
Nightwing52 [Nightwing52!~Thunderbi@] has joined ##java [08:15]
indistylo [indistylo!~aruns_@] has joined ##java [08:17]
Anthaas [Anthaas!~Anthaas@unaffiliated/anthaas] has joined ##java [08:24]
Goplat [Goplat!~Goplat@reactos/developer/Goplat] has joined ##java [08:25]
yelof [yelof!~yelof@2601:283:8003:a920:61c7:aaa7:94c0:e19] has joined ##java [08:33]
shantaram [shantaram!uid207478@gateway/web/] has joined ##java [08:41]
db [db!uid18678@gateway/web/] has joined ##java [08:48]
newtothisv21 If I have multiple files of code to post what would be the best way to display that here to ask a question? I'm creating a DAO for a MySQL instance on my local machine and one of the DAO functions is inserting a new Employee. However, I am running into issues with the insert and I am not sure what is going on. I have log4j setup but I can't seem to find the issue. [08:50]
cheeser pastebin [08:51]
cheeser Please paste your code and any errors online. For runnable main-classes, try . For general code and errors, use for instance [08:51]
dreamreal newtothisv21: consider github, [08:51]
cheeser though you could start with any stacktraces [08:51]
newtothisv21 Alright excellent, let me get some snippets posted [08:51]
madflavor sorry if this is the wrong channel, but i need helping finding a java csv library for my needs [08:52]
cheeser and you googled? [08:53]
cheeser csv [08:53]
cheeser CSV is more complicated than you imagine it to be. Don't write your own parser. Good options include: and all under the Apache Source License. Already using Jackson for JSON and/or XML for your web services? Use for CSV parsing. [08:53]
madflavor i googled quite a bit, yes [08:53]
madflavor i'll explain my use case [08:53]
cheeser and you seriously came up with nothing? [08:53]
madflavor yes..? [08:53]
cheeser <blink>uh...</blink> [08:53]
madflavor i know theres tons of libraries out there. the one i'm currently using doesnt fit my needs [08:54]
madflavor and i looked at commons and couldnt find any documentation suggesting that it does [08:54]
cheeser see these are all relevant details [08:54]
madflavor i disagree. those details are explaining my research methodology... [08:55]
madflavor but lets not go into that [08:55]
madflavor without further ado.. [08:55]
cheeser it's a very different question between "i have 0 knowledge of my options" and "this most popular, obvious answer has shortcomings for my use case" [08:56]
cheeser very different answers to those two [08:56]
madflavor at what point did i say i have 0 knowledge of my options [08:56]
dreamreal What shortcomings are you running into? the CSV libs we referred to cover pretty much everything [08:56]
newtothisv21 Because you didn't find anything with google [08:56]
cheeser "i'm looking for a java csv library" [08:56]
dreamreal what's the problem you're having [08:57]
indistylo [indistylo!~aruns_@] has joined ##java [08:57]
madflavor i need the rows to be ordered based on the header row, which is a predefined array....each member of the array being a field. theres also some inheritance. [08:57]
zalt [zalt!~lambda443@unaffiliated/lambda443] has joined ##java [08:58]
madflavor i'll type up a gist to help illustrate, gimme a couple minutes plz [08:58]
dreamreal madflavor: this is not the role of a CSV library [08:58]
dreamreal the CSV library reads and parses, the organization is up to you [08:58]
cheeser or csv in general [08:58]
madflavor i guess... OpenCsv does some ordering magic for you. and thats what i was using. but when i needed some pretty custom ordering logic, it fell short. so i'll just write the code myself, no biggie [08:59]
dreamreal nods [08:59]
dreamreal welcome to the joy that is ETL [08:59]
madflavor yeah i'm not too thrilled about writing this. it was nice using this class while it lasted: [09:00]
madflavor thanks [09:00]
newtothisv21 Okay I know you didn't ask for pastebin, but I wouldn't be able to have runnable classes. I suspect it has something to do with the enum when I instantiate the Employee and try to insert it with a SQL query. [09:03]
cheeser doesn't work [09:13]
cheeser newtothisv21, doesn't work is useless. Tell us what it is, what you want it to do, and what it is doing. Consider putting some code and any errors on a pastebin. (use ~pastebin for suggestions) [09:13]
bn_work ok, just spoke to DigiCert and they claim that the intermediate CA cert needs to be in the Java keystore too, is this true? [09:14]
newtothisv21 I am trying to instantiate a Employee object, and use an insert method to create a connection to a local MySQL database instance called employeesdb, with a table employees, and insert that Employee object into the employees table. The employees table has employee_id, firstName, lastName, and department_id. I think the issue is when I call the Employee constructor with, new Employee(123, "John", "Smith", Department.ACCOUNTING) [09:15]
newtothisv21 it's expecting an integer, but my constructor is expecting an ENUM. [09:15]
newtothisv21 The employees table is expecting an integer, but I am constructing the Employee object with an ENUM, rather, Department.ACCOUNTING. [09:16]
zulutango [zulutango!] has joined ##java [09:16]
cheeser you should be converting enum values to their names and not their ordinals values [09:18]
surial newtothisv21: there are many and varied solutions to all of this. [1] Use a DTO tech; your database has a number and your data object 'java side' has an enum and these two are just not the same. create 2 almost-but-not-quite-the-same classes and use for example MapStruct to translate the two. kinda roundabout. [09:19]
newtothisv21 I feel that is the issue, the employees table has department_id, but I have a separate department table that has department_id and department_name, which is the foreign key for the employees table. I would like to use an ENUM, but I am not sure if I should just change my Employee class to take integers for the enum. [09:19]
surial newtothisv21: [2] JDBC is not really meant to be used directly; use an abstraction such as JDBI or JOOQ; check the docs of these tools, as they have type mappers, letting you map the enum onto its ordinal, and back agai. [09:19]
surial newtothisv21: [3] make your table store the enum as its named value (as a VARCHAR). [09:20]
surial That last one really is the easiest. Given that you use mysql, clearly you don't give a shit about performance or a sane DB engine, so, hey. easiest thing, right? [09:20]
newtothisv21 Lol, absolutely easiest thing since this is a super tiny database and local [09:20]
LearnAllTheTime [LearnAllTheTime!~LearnAllT@2601:cc:4000:9db0::1dcd] has joined ##java [09:21]
surial newtothisv21: apt-get install postgres is just as simple. [09:21]
newtothisv21 True, true, is postgres another SQL database? [09:21]
surial yes. one with better performance, supports way more SQL syntax, has far less hairy weird shit, proper timezone management, has useful features like sharding, WAL logging, and JSON, and actually supports actual transactions at all levels. But, none of this will address your current problem. Although... postgres has enums. [09:22]
newtothisv21 I will put that on my list of stuff to look into. I feel like ENUMs are supposed to make my life easier but I hate them, lol [09:23]
matsurago True, our company made postgres the default DB choice for new microservices. [09:23]
surial CREATE TYPE suit AS ENUM ('Hearts', 'Spades', 'Clubs', 'Diamonds'); CREATE TABLE card (c_suit suit, c_rank integer); [09:24]
matsurago Btw JPA has an annotation for @Entities to automatically map enums. [09:24]
surial INSERT INTO card (c_suit, c_rank) VALUES ('Hearts', 5); [09:24]
surial INSERT INTO card (c_suit, c_rank) VALUES ('sdkfjasf', 5); -- this would cause an error to be thrown. Also, storage is _VERY_ efficient. [09:24]
Nightwing52 [Nightwing52!~Thunderbi@] has joined ##java [09:27]
indistylo [indistylo!~aruns_@] has joined ##java [09:28]
newtothisv21 Postgres is sounding noice I must say after reading through a bit of the description [09:33]
cheeser mysql is almost never the answer. [09:34]
cheeser i mean, sometimes the question is "what is one of the shittiest databases around?" and *clearly* mysql is the answer *there* but ... [09:35]
newtothisv21 Lol, that is hilarious that mysql is such shit, I wonder why my training is having us learn it... [09:37]
cheeser mysql [09:38]
cheeser cheeser, mysql is a network-attached spreadsheet used by pr0n sites and other such dodgy entities across the internet. You can learn more about it at - free download of the open-source version, including JDBC drivers. See for why so many clued people despise it; see also for a more positive opinion. [09:38]
newtothisv21 hahaha, damn that's funny [09:38]
newtothisv21 I got to read this article, one second [09:39]
surial newtothisv21: mysql used to be orders of magnitude faster than postgres. [09:40]
cheeser because it silently just skipped doing important things. [09:40]
surial newtothisv21: this was primarily due to two factors: [1] postgres's default installation would presume heavy work and therefore request a lot of memory. mysql was default configged to be a potato. [09:40]
surial newtothisv21: but most of all [2] because mysql out of the box was configured to be a network-attached spreadsheet: transaction commands didn't crash but didn't do anything. if you are halfway rthrough and your app crashes or someone trips over a powercable, your db is now corrupt. [09:41]
surial yeah okay if that's allowed sure I can have a well performing 'database'. [09:41]
KidBeta [KidBeta!~Kidbeta@hpavc/kidbeta] has joined ##java [09:42]
surial only morons would fall for that, but, hey. It was early days, the internet was a simpler place, things were so finicky, corrupt DBs were just accepted as more or less normal. ANyway, the LAMP stack became popular (adding in another design mistake: PHP), and lots of books were written on this. To support it, lots of hosting sites allowed PHP + MySql (all pre-isntalled for you), but didn't give root shell access soy ou couldn't [09:42]
surial install anything else. Thus, that was easy to get into. This is all.. what..15 years ago> [09:42]
VegetarianFalcon [VegetarianFalcon!uid258908@gateway/web/] has joined ##java [09:42]
surial something like that. I guess your teacher/book/whatnot is just old and didn't bother to read anything at all in those 15 years. Shame. [09:42]
bn_work so any thoughts? [09:45]
newtothisv21 Man, that is fascinating because I am seeing a link to an article on this MySQL article about PHP being dog shit as well. We're going to switch to MongoDB down the line which is apart of the LAMP stack, so he might just want to use it to teach us some fundamental SQL queries. [09:47]
indistylo [indistylo!~aruns_@] has joined ##java [09:48]
surial newtothisv21: LAMP is literally 'linux, apache, mysql, php'. [09:48]
newtothisv21 Ah, I thought it was linux/apache/mongodb/php-python-perl [09:49]
surial i.e. mongodb isn't part of it. nobody talks about LAMP anymore; the point of LAMP is that you could easily get hosting for it back then. now, hosting is either different more cloud/parallellized frameworks, or it's just straight up root access install whatever you please. [09:49]
newtothisv21 I suppose variations exist [09:49]
surial newtothisv21: yes, the php can be perl, but that's about it. [09:49]
surial mongo and other nosql solutions are often peddled as 'they scale'. [09:50]
surial This is incredibly oversimplified and almost entirely wrong. So if THAT is why your team/boss/school/whatever is going with mongo? Ooops. [09:50]
surial there are certainly new 'stacks', but the notion is now pointless. [09:50]
newtothisv21 I think it is more something like, the clients wanted this laundry list of technologies, teach them all of it [09:51]
surial As in, php, mongo, python, perl, apache, linux? With the exception of linux everything else is just unrelated. [09:51]
cheeser mongodb *does* scale! [09:51]
surial heh. [09:51]
surial If you want to mix up mongo, java, nginx, and windows? I guess we have the.. uh.. WNMJ stack? [09:51]
cheeser minj [09:52]
surial It'll work fine, in any case. none of any of it even cares that it runs on windows; the nginx bit doesn't give a crap that it's mongo. anything would do. It doesn't make sense to say 'let's go LAMP!' or whatnot when that mix doesn't buy you something special. In ye olden days, LAMP bought you a cheap server. You couldn't use windows cuz those weren't cheap; you could use postgres cuz all the cheap hosters wouldn't host it. You [09:53]
surial had to use apache because it was preconfigured and.. nginx didn't even exist; it was the only webserver hosters would allow. yadayada. LAMP was a nicer way to say 'cheap hoster'. [09:53]
surial But now ANY combo can be hosted cheaply. Pick any of these: Windows/Linux Apache/Nginx/straight-java/tens-of-other-feasible-webservers Mongo/postgres/couchdb/mysql java/python/ruby/node/scala/kotlin/swift [09:54]
surial pick-and-mix. whatever you end up with? You can find a cheap host amongst many options. And it'll interact fine. [09:54]
zalt [zalt!~lambda443@unaffiliated/lambda443] has joined ##java [09:57]
newtothisv21 That all makes sense, definitely interesting seeing about the history. I hate to switch back to my problem at hand, lol, but I got rid of the enum and I just passed a straight integer and I am still get insert errors. [09:59]
newtothisv21 *getting [09:59]
newtothisv21 I have an identical DAO setup for country another table and it works fine, this is really boggling my mind. Any way to get more information to debug? [10:00]
ravenousmoose [ravenousmoose!] has joined ##java [10:03]
fstd_ [fstd_!~fstd@unaffiliated/fisted] has joined ##java [10:06]
newtothisv21 Fack now my country DAO is getting insert errors, what in the hell [10:06]
surial newtothisv21: pastebin all relevant code and the full trace of all relevant errors, we don't have crystal balls. [10:07]
newtothisv21 I tried printing the stacktrace and it's just garbage [10:08]
surial it's not. [10:09]
newtothisv21 Here is the pastebin without the enum [10:11]
newtothisv21 All relevant code, error message on the bottom [10:11]
newtothisv21 Alright threw in a logger.debug(sqle.getStackTrace()) and a logger.debug(sqle.getMessage()), not sure why I didn't do this before as there is some useful info now [10:13]
newbieG [newbieG!~bhaskar@] has joined ##java [10:14]
zeden [zeden!~user@unaffiliated/zeden] has joined ##java [10:16]
newtothisv21 Holy fucking shit [10:16]
newtothisv21 SQL query was lNSERT INTO, changed to INSERT into and the issue is fixed [10:17]
newtothisv21 God damnit [10:17]
newtothisv21 Debugger information helped a lot though I should have done that so long ago [10:17]
newtothisv21 I cannot believe that [10:17]
cheeser well, you *are* newtothisv21 [10:25]
surial newtothisv21: logger.debug(sqle.getStackTrace()) is utterly useless. [10:30]
newtothisv21 I have no idea how on earth that happened to be honest, so much wasted time, but I was an idiot for not throwing more error messages earlier [10:30]
surial newtothisv21: exceptions have 4 parts to it: type, message, trace, cause. [10:30]
surial newtothisv21: you're tossing 3 of the things. [10:30]
newtothisv21 Well it pointed me to the SQL error [10:30]
surial just put 'throws Exception' on your main. It's fine. remember: logging shit aint handling it. [10:30]
newtothisv21 That's true but I was out of ideas as to where the issue is, it at least told me that the issue was with the query, 10 seconds and I spotted it [10:31]
surial newtothisv21: had you logged just 'sqle', or better yet, logged nothing and removed a lot of code (making it easier to read too!), you'd have seen MORE. [10:31]
newtothisv21 I am thinking a font change would have been helpful lol [10:31]
surial newtothisv21: also, logging an exception means code continues. this is just.. seriously, you have a brain think about it. your list is now a mess and isn't reflecting the actual state of the DB, and all you've done is.. log 1 out of 4 things the error tells you. Likely, the next thing that runs after ALSO throws, so, 1 error causes literally 850 stack traces. [10:32]
surial newtothisv21: it's JUST: try (PreparedStatement ps = ....; ResultSet rs = ps.executeQuery()) { while ( list.add(resultSetToEmployee(rs)); } [10:32]
surial newtothisv21: no catch. no finally. [10:33]
surial newtothisv21: that's like a TENTH of how many lines you have, and that runs strictly better. [10:33]
newtothisv21 I could have done away with the try/catch blocks and just added throws to the main, but I am messing around with stuff for the most part. I am not that experienced as I am sure you can tell [10:33]
surial so, you're messing around, and in order to accomplish this, you're.. throwing out 3 out of the 4 useful things in a stack trace? [10:34]
surial Youre making zero fucking sense. [10:34]
surial .. and typing more code? What the fuck? [10:34]
surial these tips should make it _EASIER_ to mess around. you have to write less, and you get more information if it goes wrong, and info that is about where you messed up, and not clogged by 849 other unrelated, irrelevant messages. [10:35]
surial If you didn't know about these code tricks that's fantastic, hey, you're learning :) ? but don't wave away good ideas because 'youre just messing around'. That's.. the opposite of how you should react to new information. [10:35]
newtothisv21 All these things that are obvious to you aren't obvious to me. I haven't done much debugging before and I'm not familiar with debugging. So when you say I'm throwing out 3 of the 4 useful things from the stack trace it isn't something I'm doing intentionally, but accidentally. [10:38]
newtothisv21 I don't even know how to get the 3 of the things you're talking about in regards to type/message/trace/cause [10:39]
surial Right, but, you seemed to be saying 'okay I dont get what youre saying so I'll stick with what I have', [10:40]
surial newtothisv21: when you log the entire exception straight up, just.. catch(Exception e) {log.debug("Oopsie", e);} you get all 4 things. [10:40]
surial newtothisv21: better yet, get rid of that logger; you don't need them. [10:40]
surial newtothisv21: just throw ALL exceptions all the way up; if main throws, you get all 4. [10:40]
surial you'd get something like: java.sql.SQLException: I/O error writing DB file (complete stack trace) Caused by: Disk full (more stack trace). [10:41]
surial telling you the op failed, why, at what location, and the underyling reason. [10:41]
surial newtothisv21: you've gone through all this effort to catch SQLexceptions.. the real answer is: Just.. don't. [10:42]
surial don't catch them. That saves you writing code (all those catch statements, .getStackTrace calls, the logger creation) and makes your app strictly better. [10:42]
newtothisv21 I see what you're saying now, and I'm doing the things I'm doing because that is how I was taught which creates further issues when best practices don't align with instruction in training. So is there ever a reason to catch specific exceptions or should you always just catch all exceptions? [10:44]
surial there certainly is. There is relatively little reason to catch all exceptions. plenty o freasons to catch specific ones. [10:44]
surial You catch an exception when you have a good idea about what to do. And 'log it' / 'ignore it' aren't good ideas. [10:44]
surial For example, let's say you have a user that enters a query in an admin webform. YOu want to catch the SQLEx and relay this info to the form. [10:45]
surial Or, you get an SQLEx of type retry and want to, well, retry. Really, you should be using jooq or jdbi or some framework to do SQL instead of this, but, you're learning. baby steps. For now straight JDBC is fine. [10:45]
surial for example, I have a webserver that is started, sometimes, juuust before a previous version of it is closed, which means it fails when binding to its socket. I want to catch that, increment a counter. if the counter is less than 20, wait half a second and try again. otherwise actually fail (rethrow the exception verbatim). This way, if I start the server slightly early it'll wait a little bit and then run. [10:46]
surial none of this is logging it or ignoring it. [10:46]
surial for many exceptions there's nothing sane to do, so just throw it onwards. [10:47]
Crash1hd [Crash1hd!~Crash1hd@unaffiliated/crash1hd] has joined ##java [10:48]
newtothisv21 Interesting, this is definitely helpful information. I am sure I'll run into more situations like this as my experience grows and you can be sure I'll be here pestering you, lol. [10:50]
LunarJetman parted the channel: [10:56]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [11:07]
p[a]ddy [p[a]ddy!~Patrick-E@wikipedia/paddyez] has joined ##java [11:08]
rajrajraj [rajrajraj!uid72176@gateway/web/] has joined ##java [11:11]
g00s [g00s!~g00s@unaffiliated/g00s] has joined ##java [11:21]
Crash1hd [Crash1hd!~Crash1hd@unaffiliated/crash1hd] has joined ##java [11:21]
dmiles [dmiles!] has joined ##java [11:25]
wreed [wreed!~wreed@2601:645:8100:8480:70f2:6bdc:a120:5b6] has joined ##java [11:29]
xeno [xeno!~xeno@unaffiliated/xeno] has joined ##java [11:45]
srisri [srisri!~srisri@] has joined ##java [11:53]